Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Unified Diff: webkit/media/crypto/key_systems.cc

Issue 11474037: Several updates to canPlayType() results for EME (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix win build Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/content_tests.gypi ('k') | webkit/media/crypto/key_systems_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/media/crypto/key_systems.cc
diff --git a/webkit/media/crypto/key_systems.cc b/webkit/media/crypto/key_systems.cc
index ff7c26db2f42d2d8cecc50e253d52e5a16b958d0..80afab741d0698467e0d46b35484b0836e1e071d 100644
--- a/webkit/media/crypto/key_systems.cc
+++ b/webkit/media/crypto/key_systems.cc
@@ -38,6 +38,11 @@ struct KeySystemPluginTypePair {
const char* plugin_type;
};
+// TODO(xhwang): Remove this and ifdefs after fixing http://crbug.com/123421.
+#define DECRYPT_ONLY_AUDIO_NOT_SUPPORTED
+// TODO(ddorwin): Automatically support parent systems: http://crbug.com/164303.
+static const char kWidevineBaseKeySystem[] = "com.widevine";
+
// Specifies the container and codec combinations supported by individual
// key systems. Each line is a container-codecs combination and the key system
// that supports it. Multiple codecs can be listed. A trailing commas in
@@ -47,12 +52,20 @@ struct KeySystemPluginTypePair {
static const MediaFormatAndKeySystem
supported_format_key_system_combinations[] = {
// Clear Key.
+#if defined(DECRYPT_ONLY_AUDIO_NOT_SUPPORTED)
+ { "video/webm", "vp8,vp8.0,", kClearKeyKeySystem },
+#else
{ "video/webm", "vorbis,vp8,vp8.0,", kClearKeyKeySystem },
{ "audio/webm", "vorbis,", kClearKeyKeySystem },
+#endif
#if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS)
+#if defined(DECRYPT_ONLY_AUDIO_NOT_SUPPORTED)
+ { "video/mp4", "avc1,", kClearKeyKeySystem },
+#else
{ "video/mp4", "avc1,mp4a,", kClearKeyKeySystem },
{ "audio/mp4", "mp4a,", kClearKeyKeySystem },
#endif
+#endif
// External Clear Key (used for testing).
{ "video/webm", "vorbis,vp8,vp8.0,", kExternalClearKeyKeySystem },
@@ -66,6 +79,16 @@ supported_format_key_system_combinations[] = {
// Widevine.
{ "video/webm", "vorbis,vp8,vp8.0,", kWidevineKeySystem },
{ "audio/webm", "vorbis,", kWidevineKeySystem },
+ { "video/webm", "vorbis,vp8,vp8.0,", kWidevineBaseKeySystem },
+ { "audio/webm", "vorbis,", kWidevineBaseKeySystem },
+#if defined(WIDEVINE_CDM_CENC_SUPPORT_AVAILABLE)
+#if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS)
+ { "video/mp4", "avc1,mp4a,", kWidevineKeySystem },
+ { "audio/mp4", "mp4a,", kWidevineKeySystem },
+ { "video/mp4", "avc1,mp4a,", kWidevineBaseKeySystem },
+ { "audio/mp4", "mp4a,", kWidevineBaseKeySystem },
+#endif
+#endif
#endif // WIDEVINE_CDM_AVAILABLE
};
@@ -141,10 +164,6 @@ KeySystems::KeySystems() {
bool KeySystems::IsSupportedKeySystem(const std::string& key_system) {
bool is_supported = key_system_map_.find(key_system) != key_system_map_.end();
- DCHECK_EQ(is_supported,
- (CanUseAesDecryptor(key_system) ||
- !GetPluginType(key_system).empty()))
- << "key_system_map_ & key_system_to_plugin_type_mapping are inconsistent";
return is_supported;
}
« no previous file with comments | « content/content_tests.gypi ('k') | webkit/media/crypto/key_systems_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698