Chromium Code Reviews| 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 |
| } |