| 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..4acfd110c070262d5a19b68830a8c0a39ee6cb71 100644
|
| --- a/chromecast/renderer/key_systems_cast.cc
|
| +++ b/chromecast/renderer/key_systems_cast.cc
|
| @@ -10,7 +10,7 @@
|
| #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.
|
| @@ -21,7 +21,9 @@ 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 +32,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)
|
| ::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_properties->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,
|
| key_systems_info);
|
|
|