Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2014)

Unified Diff: chromecast/renderer/key_systems_cast.cc

Issue 1927953004: Reland of "Convert Widevine and Android platform key systems to KeySystemProperties" with fix (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromecast/renderer/key_systems_cast.h ('k') | components/cdm.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « chromecast/renderer/key_systems_cast.h ('k') | components/cdm.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698