Chromium Code Reviews| Index: chromecast/renderer/key_systems_cast.cc |
| diff --git a/chromecast/renderer/key_systems_cast.cc b/chromecast/renderer/key_systems_cast.cc |
| index c1257fdba8c3a040b09dc137c5c4d4d70c70ea49..040ac846b4adcdf54b56832397dba306063c68b8 100644 |
| --- a/chromecast/renderer/key_systems_cast.cc |
| +++ b/chromecast/renderer/key_systems_cast.cc |
| @@ -10,18 +10,18 @@ |
| #include "base/logging.h" |
| #include "build/build_config.h" |
| #include "chromecast/media/base/key_systems_common.h" |
| -#include "components/cdm/renderer/widevine_key_systems.h" |
| +#include "components/cdm/renderer/widevine_key_system_properties.h" |
| #include "media/base/eme_constants.h" |
| -#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. |
| - |
| using ::media::EmeFeatureSupport; |
| using ::media::EmeRobustness; |
| using ::media::EmeSessionTypeSupport; |
| namespace chromecast { |
| namespace shell { |
| +namespace { |
| +#if defined(PLAYREADY_CDM_AVAILABLE) |
| void AddKeySystemWithCodecs( |
| const std::string& key_system_name, |
| std::vector<::media::KeySystemInfo>* key_systems_info) { |
| @@ -30,44 +30,47 @@ void AddKeySystemWithCodecs( |
| info.supported_init_data_types = ::media::kInitDataTypeMaskCenc; |
| info.supported_codecs = |
| ::media::EME_CODEC_MP4_AAC | ::media::EME_CODEC_MP4_AVC1; |
| - info.max_audio_robustness = ::media::EmeRobustness::EMPTY; |
| - info.max_video_robustness = ::media::EmeRobustness::EMPTY; |
| + info.max_audio_robustness = EmeRobustness::EMPTY; |
| + info.max_video_robustness = EmeRobustness::EMPTY; |
| #if defined(OS_ANDROID) |
| - info.persistent_license_support = |
| - ::media::EmeSessionTypeSupport::NOT_SUPPORTED; |
| + info.persistent_license_support = EmeSessionTypeSupport::NOT_SUPPORTED; |
| #else |
| - info.persistent_license_support = |
| - ::media::EmeSessionTypeSupport::SUPPORTED; |
| + info.persistent_license_support = EmeSessionTypeSupport::SUPPORTED; |
| #endif |
| info.persistent_release_message_support = |
| - ::media::EmeSessionTypeSupport::NOT_SUPPORTED; |
| - info.persistent_state_support = ::media::EmeFeatureSupport::ALWAYS_ENABLED; |
| - info.distinctive_identifier_support = |
| - ::media::EmeFeatureSupport::ALWAYS_ENABLED; |
| + EmeSessionTypeSupport::NOT_SUPPORTED; |
| + info.persistent_state_support = EmeFeatureSupport::ALWAYS_ENABLED; |
| + info.distinctive_identifier_support = EmeFeatureSupport::ALWAYS_ENABLED; |
| key_systems_info->push_back(info); |
| } |
| +#endif // defined(PLAYREADY_CDM_AVAILABLE) |
| + |
| +} // namespace |
| void AddChromecastKeySystems( |
| - std::vector<::media::KeySystemInfo>* key_systems_info) { |
| + std::vector<std::unique_ptr<::media::KeySystemProperties>>* |
| + key_systems_properties) { |
| #if defined(WIDEVINE_CDM_AVAILABLE) |
|
ddorwin
2016/04/27 22:41:54
The header that defines this was removed. Does chr
halliwell
2016/04/27 23:50:45
Good point, restored the header for now (we might
|
| ::media::SupportedCodecs codecs = |
| ::media::EME_CODEC_MP4_AAC | ::media::EME_CODEC_MP4_AVC1 | |
| ::media::EME_CODEC_WEBM_VP8 | ::media::EME_CODEC_WEBM_VP9; |
| - cdm::AddWidevineWithCodecs( |
| - codecs, // Regular codecs. |
| + key_systems->emplace_back(new cdm::WidevineKeySystemProperties( |
| + codecs, // Regular codecs. |
| #if defined(OS_ANDROID) |
| - codecs, // Hardware-secure codecs. |
| -#endif // defined(OS_ANDROID) |
| + codecs, // Hardware-secure codecs. |
| +#endif |
| EmeRobustness::HW_SECURE_ALL, // Max audio robustness. |
| EmeRobustness::HW_SECURE_ALL, // Max video robustness. |
| EmeSessionTypeSupport::NOT_SUPPORTED, // persistent-license. |
| EmeSessionTypeSupport::NOT_SUPPORTED, // persistent-release-message. |
| // Note: On Chromecast, all CDMs may have persistent state. |
| - EmeFeatureSupport::ALWAYS_ENABLED, // Persistent state. |
| - EmeFeatureSupport::ALWAYS_ENABLED, // Distinctive identifier. |
| - key_systems_info); |
| + EmeFeatureSupport::ALWAYS_ENABLED, // Persistent state. |
| + EmeFeatureSupport::ALWAYS_ENABLED)); // Distinctive identifier. |
| #endif // defined(WIDEVINE_CDM_AVAILABLE) |
| +} |
| +void AddChromecastKeySystemsInfo( |
| + std::vector<::media::KeySystemInfo>* key_systems_info) { |
| #if defined(PLAYREADY_CDM_AVAILABLE) |
| AddKeySystemWithCodecs(media::kChromecastPlayreadyKeySystem, |
|
ddorwin
2016/04/27 22:41:54
If ECK is converted, this would be the only reason
halliwell
2016/04/27 23:50:45
Yep, I was planning to do ECK and Chromecast PR ne
|
| key_systems_info); |