| 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 e05fe0dc8909d7fafab2f8ad692d640fc023ce5d..31a41993c640780a338ef036d1b6a50860a867b0 100644
|
| --- a/chrome/renderer/media/chrome_key_systems.cc
|
| +++ b/chrome/renderer/media/chrome_key_systems.cc
|
| @@ -15,9 +15,12 @@
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "build/build_config.h"
|
| #include "chrome/common/render_messages.h"
|
| -#include "components/cdm/renderer/widevine_key_systems.h"
|
| +#include "components/cdm/renderer/widevine_key_system_properties.h"
|
| #include "content/public/renderer/render_thread.h"
|
| #include "media/base/eme_constants.h"
|
| +#include "media/base/key_system_info.h"
|
| +#include "media/base/key_system_properties.h"
|
| +
|
| #include "media/media_features.h"
|
|
|
| #if defined(OS_ANDROID)
|
| @@ -34,6 +37,7 @@
|
| #endif
|
|
|
| using media::KeySystemInfo;
|
| +using media::KeySystemProperties;
|
| using media::SupportedCodecs;
|
|
|
| #if defined(ENABLE_PEPPER_CDMS)
|
| @@ -150,7 +154,7 @@ void GetSupportedCodecsForPepperCdm(
|
| }
|
|
|
| static void AddPepperBasedWidevine(
|
| - std::vector<KeySystemInfo>* concrete_key_systems) {
|
| + std::vector<std::unique_ptr<KeySystemProperties>>* concrete_key_systems) {
|
| #if defined(WIDEVINE_CDM_MIN_GLIBC_VERSION)
|
| Version glibc_version(gnu_get_libc_version());
|
| DCHECK(glibc_version.IsValid());
|
| @@ -198,7 +202,7 @@ static void AddPepperBasedWidevine(
|
| #endif // defined(USE_PROPRIETARY_CODECS)
|
| }
|
|
|
| - cdm::AddWidevineWithCodecs(
|
| + concrete_key_systems->emplace_back(new cdm::WidevineKeySystemProperties(
|
| supported_codecs,
|
| #if defined(OS_CHROMEOS)
|
| media::EmeRobustness::HW_SECURE_ALL, // Maximum audio robustness.
|
| @@ -206,33 +210,37 @@ static void AddPepperBasedWidevine(
|
| media::EmeSessionTypeSupport::
|
| SUPPORTED_WITH_IDENTIFIER, // Persistent-license.
|
| media::EmeSessionTypeSupport::
|
| - NOT_SUPPORTED, // Persistent-release-message.
|
| - media::EmeFeatureSupport::REQUESTABLE, // Persistent state.
|
| - media::EmeFeatureSupport::REQUESTABLE, // Distinctive identifier.
|
| + NOT_SUPPORTED, // Persistent-release-message.
|
| + media::EmeFeatureSupport::REQUESTABLE, // Persistent state.
|
| + media::EmeFeatureSupport::REQUESTABLE)); // Distinctive identifier.
|
| #else // (Desktop)
|
| media::EmeRobustness::SW_SECURE_CRYPTO, // Maximum audio robustness.
|
| media::EmeRobustness::SW_SECURE_DECODE, // Maximum video robustness.
|
| media::EmeSessionTypeSupport::NOT_SUPPORTED, // persistent-license.
|
| media::EmeSessionTypeSupport::
|
| - NOT_SUPPORTED, // persistent-release-message.
|
| - media::EmeFeatureSupport::REQUESTABLE, // Persistent state.
|
| - media::EmeFeatureSupport::NOT_SUPPORTED, // Distinctive identifier.
|
| + NOT_SUPPORTED, // persistent-release-message.
|
| + media::EmeFeatureSupport::REQUESTABLE, // Persistent state.
|
| + media::EmeFeatureSupport::NOT_SUPPORTED)); // Distinctive identifier.
|
| #endif // defined(OS_CHROMEOS)
|
| - concrete_key_systems);
|
| }
|
| #endif // defined(WIDEVINE_CDM_AVAILABLE)
|
| #endif // defined(ENABLE_PEPPER_CDMS)
|
|
|
| -void AddChromeKeySystems(std::vector<KeySystemInfo>* key_systems_info) {
|
| +void AddChromeKeySystemsInfo(std::vector<KeySystemInfo>* key_systems_info) {
|
| #if defined(ENABLE_PEPPER_CDMS)
|
| AddExternalClearKey(key_systems_info);
|
| +#endif
|
| +}
|
|
|
| +void AddChromeKeySystems(
|
| + std::vector<std::unique_ptr<KeySystemProperties>>* key_systems_properties) {
|
| +#if defined(ENABLE_PEPPER_CDMS)
|
| #if defined(WIDEVINE_CDM_AVAILABLE)
|
| - AddPepperBasedWidevine(key_systems_info);
|
| + AddPepperBasedWidevine(key_systems_properties);
|
| #endif // defined(WIDEVINE_CDM_AVAILABLE)
|
| #endif // defined(ENABLE_PEPPER_CDMS)
|
|
|
| #if defined(OS_ANDROID)
|
| - cdm::AddAndroidWidevine(key_systems_info);
|
| + cdm::AddAndroidWidevine(key_systems_properties);
|
| #endif // defined(OS_ANDROID)
|
| }
|
|
|