Index: components/cdm/renderer/android_key_systems.cc |
diff --git a/components/cdm/renderer/android_key_systems.cc b/components/cdm/renderer/android_key_systems.cc |
index 99bc2bb5149db002453abca79267d494d2e57f7b..c6adc80f5ce1c9a5ccda440e1db33cf08d858f83 100644 |
--- a/components/cdm/renderer/android_key_systems.cc |
+++ b/components/cdm/renderer/android_key_systems.cc |
@@ -10,6 +10,7 @@ |
#include "base/logging.h" |
#include "components/cdm/common/cdm_messages_android.h" |
#include "components/cdm/renderer/widevine_key_systems.h" |
+#include "content/public/common/eme_constants.h" |
#include "content/public/renderer/render_thread.h" |
#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. |
@@ -65,6 +66,15 @@ void AddAndroidPlatformKeySystems( |
if (response.compositing_codecs != content::EME_CODEC_NONE) { |
KeySystemInfo info(*it); |
info.supported_codecs = response.compositing_codecs; |
+ // Here we assume that support for a container implies support for the |
+ // associated initialization data type. KeySystems handles validating |
+ // |init_data_type| x |container| pairings. |
+ if (response.compositing_codecs & content::EME_CODEC_WEBM_ALL) |
+ info.supported_init_data_types |= content::EME_INIT_DATA_TYPE_WEBM; |
+#if defined(USE_PROPRIETARY_CODECS) |
+ if (response.compositing_codecs & content::EME_CODEC_MP4_ALL) |
+ info.supported_init_data_types |= content::EME_INIT_DATA_TYPE_CENC; |
+#endif // defined(USE_PROPRIETARY_CODECS) |
concrete_key_systems->push_back(info); |
} |
} |