summaryrefslogtreecommitdiffstats
path: root/components/cdm/renderer/widevine_key_systems.cc
diff options
context:
space:
mode:
Diffstat (limited to 'components/cdm/renderer/widevine_key_systems.cc')
-rw-r--r--components/cdm/renderer/widevine_key_systems.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/components/cdm/renderer/widevine_key_systems.cc b/components/cdm/renderer/widevine_key_systems.cc
index 2a41322..d08b6ad 100644
--- a/components/cdm/renderer/widevine_key_systems.cc
+++ b/components/cdm/renderer/widevine_key_systems.cc
@@ -8,6 +8,7 @@
#include <vector>
#include "base/logging.h"
+#include "content/public/common/eme_constants.h"
#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
@@ -49,6 +50,16 @@ void AddWidevineWithCodecs(WidevineCdmType widevine_cdm_type,
// initDataType.
info.supported_codecs = supported_codecs;
+ // Here we assume that support for a container imples support for the
+ // associated initialization data type. KeySystems handles validating
+ // |init_data_type| x |container| pairings.
+ if (supported_codecs & content::EME_CODEC_WEBM_ALL)
+ info.supported_init_data_types |= content::EME_INIT_DATA_TYPE_WEBM;
+#if defined(USE_PROPRIETARY_CODECS)
+ if (supported_codecs & content::EME_CODEC_MP4_ALL)
+ info.supported_init_data_types |= content::EME_INIT_DATA_TYPE_CENC;
+#endif // defined(USE_PROPRIETARY_CODECS)
+
#if defined(ENABLE_PEPPER_CDMS)
info.pepper_type = kWidevineCdmPluginMimeType;
#endif // defined(ENABLE_PEPPER_CDMS)