summaryrefslogtreecommitdiffstats
path: root/media/base/key_systems.cc
diff options
context:
space:
mode:
authorddorwin <ddorwin@chromium.org>2016-03-02 21:06:29 -0800
committerCommit bot <commit-bot@chromium.org>2016-03-03 05:07:51 +0000
commitf1f20728a18fff332af52c0e60726a8b34510ba6 (patch)
treef4c5b710675a1a3787b404cd2a31a7d7b7532067 /media/base/key_systems.cc
parentfee5771921b6f93f36a3b102c30b3711db8b7b5b (diff)
downloadchromium_src-f1f20728a18fff332af52c0e60726a8b34510ba6.zip
chromium_src-f1f20728a18fff332af52c0e60726a8b34510ba6.tar.gz
chromium_src-f1f20728a18fff332af52c0e60726a8b34510ba6.tar.bz2
EME on Android: Improve accuracy of Key System availability.
Implemented per https://crbug.com/582618#c7. BUG=559236,582618 Review URL: https://codereview.chromium.org/1747073003 Cr-Commit-Position: refs/heads/master@{#378959}
Diffstat (limited to 'media/base/key_systems.cc')
-rw-r--r--media/base/key_systems.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/media/base/key_systems.cc b/media/base/key_systems.cc
index 914661f..8a3ae69 100644
--- a/media/base/key_systems.cc
+++ b/media/base/key_systems.cc
@@ -15,6 +15,7 @@
#include "base/time/time.h"
#include "build/build_config.h"
#include "media/base/key_system_info.h"
+#include "media/base/media.h"
#include "media/base/media_client.h"
#include "media/cdm/key_system_names.h"
#include "third_party/widevine/cdm/widevine_cdm_common.h"
@@ -409,6 +410,16 @@ void KeySystemsImpl::AddSupportedKeySystems(
DCHECK_EQ(key_system_map_.count(info.key_system), 0u)
<< "Key system '" << info.key_system << "' already registered";
+
+#if defined(OS_ANDROID)
+ // Ensure that the renderer can access the decoders necessary to use the
+ // key system.
+ if (!info.use_aes_decryptor && !ArePlatformDecodersAvailable()) {
+ DLOG(WARNING) << info.key_system << " not registered";
+ continue;
+ }
+#endif // defined(OS_ANDROID)
+
key_system_map_[info.key_system] = info;
}
}