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); |