Index: chrome/renderer/media/chrome_key_systems.cc |
diff --git a/chrome/renderer/media/chrome_key_systems.cc b/chrome/renderer/media/chrome_key_systems.cc |
index 71937fd87c2f95bbd5622b15a47e60dcc7b3d57b..1b72d7197f4ddf008d6e643a9658255b3d1e81b1 100644 |
--- a/chrome/renderer/media/chrome_key_systems.cc |
+++ b/chrome/renderer/media/chrome_key_systems.cc |
@@ -24,7 +24,7 @@ |
#endif |
#if defined(OS_ANDROID) |
-#include "chrome/common/encrypted_media_messages_android.h" |
+#include "components/cdm/renderer/widevine_key_systems.h" |
#endif |
using content::KeySystemInfo; |
@@ -99,26 +99,8 @@ static void AddExternalClearKey( |
info.key_system = kExternalClearKeyCrashKeySystem; |
concrete_key_systems->push_back(info); |
} |
-#endif // defined(ENABLE_PEPPER_CDMS) |
- |
#if defined(WIDEVINE_CDM_AVAILABLE) |
-enum WidevineCdmType { |
- WIDEVINE, |
- WIDEVINE_HR, |
-#if defined(OS_ANDROID) |
- WIDEVINE_HR_NON_COMPOSITING, |
-#endif |
-}; |
- |
-#if !defined(OS_ANDROID) |
-static bool IsWidevineHrSupported() { |
- // TODO(jrummell): Need to call CheckPlatformState() but it is |
- // asynchronous, and needs to be done in the browser. |
- return false; |
-} |
-#endif |
- |
// Return |name|'s parent key system. |
static std::string GetDirectParentName(std::string name) { |
int last_period = name.find_last_of('.'); |
@@ -127,41 +109,23 @@ static std::string GetDirectParentName(std::string name) { |
} |
static void AddWidevineWithCodecs( |
- WidevineCdmType widevine_cdm_type, |
SupportedCodecs supported_codecs, |
std::vector<KeySystemInfo>* concrete_key_systems) { |
KeySystemInfo info(kWidevineKeySystem); |
- switch (widevine_cdm_type) { |
- case WIDEVINE: |
- // For standard Widevine, add parent name. |
- info.parent_key_system = GetDirectParentName(kWidevineKeySystem); |
- break; |
- case WIDEVINE_HR: |
- info.key_system.append(".hr"); |
- break; |
-#if defined(OS_ANDROID) |
- case WIDEVINE_HR_NON_COMPOSITING: |
- info.key_system.append(".hrnoncompositing"); |
- break; |
-#endif |
- default: |
- NOTREACHED(); |
- } |
+ // For standard Widevine, add parent name. |
+ info.parent_key_system = GetDirectParentName(kWidevineKeySystem); |
// TODO(xhwang): A container or an initDataType may be supported even though |
// there are no codecs supported in that container. Fix this when we support |
// initDataType. |
info.supported_codecs = supported_codecs; |
-#if defined(ENABLE_PEPPER_CDMS) |
info.pepper_type = kWidevineCdmPluginMimeType; |
-#endif // defined(ENABLE_PEPPER_CDMS) |
concrete_key_systems->push_back(info); |
} |
-#if defined(ENABLE_PEPPER_CDMS) |
// When the adapter is registered, a name-value pair is inserted in |
// additional_param_* that lists the supported codecs. The name is "codecs" and |
// the value is a comma-delimited list of codecs. |
@@ -231,40 +195,9 @@ static void AddPepperBasedWidevine( |
} |
AddWidevineWithCodecs(WIDEVINE, supported_codecs, concrete_key_systems); |
- |
- if (IsWidevineHrSupported()) |
- AddWidevineWithCodecs(WIDEVINE_HR, supported_codecs, concrete_key_systems); |
-} |
-#elif defined(OS_ANDROID) |
-static void AddAndroidWidevine( |
- std::vector<KeySystemInfo>* concrete_key_systems) { |
- SupportedKeySystemRequest request; |
- SupportedKeySystemResponse response; |
- |
- request.key_system = kWidevineKeySystem; |
- request.codecs = content::EME_CODEC_WEBM_ALL | content::EME_CODEC_MP4_ALL; |
- content::RenderThread::Get()->Send( |
- new ChromeViewHostMsg_GetSupportedKeySystems(request, &response)); |
- DCHECK(response.compositing_codecs & content::EME_CODEC_ALL) |
- << "unrecognized codec"; |
- DCHECK(response.non_compositing_codecs & content::EME_CODEC_ALL) |
- << "unrecognized codec"; |
- if (response.compositing_codecs != content::EME_CODEC_NONE) { |
- AddWidevineWithCodecs( |
- WIDEVINE, |
- static_cast<SupportedCodecs>(response.compositing_codecs), |
- concrete_key_systems); |
- } |
- |
- if (response.non_compositing_codecs != content::EME_CODEC_NONE) { |
- AddWidevineWithCodecs( |
- WIDEVINE_HR_NON_COMPOSITING, |
- static_cast<SupportedCodecs>(response.non_compositing_codecs), |
- concrete_key_systems); |
- } |
} |
-#endif // defined(ENABLE_PEPPER_CDMS) |
#endif // defined(WIDEVINE_CDM_AVAILABLE) |
+#endif // defined(ENABLE_PEPPER_CDMS) |
void AddChromeKeySystems(std::vector<KeySystemInfo>* key_systems_info) { |
#if defined(ENABLE_PEPPER_CDMS) |
ddorwin
2014/05/02 17:58:55
I wonder if we should move the ifdef logic to the
ycheo (away)
2014/05/05 10:15:08
Done.
|
@@ -275,7 +208,7 @@ void AddChromeKeySystems(std::vector<KeySystemInfo>* key_systems_info) { |
#if defined(ENABLE_PEPPER_CDMS) |
AddPepperBasedWidevine(key_systems_info); |
#elif defined(OS_ANDROID) |
- AddAndroidWidevine(key_systems_info); |
+ cdm::AddAndroidWidevine(key_systems_info); |
#endif |
#endif |
} |