diff options
Diffstat (limited to 'media/base/key_systems.cc')
-rw-r--r-- | media/base/key_systems.cc | 11 |
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; } } |