| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/cdm/renderer/widevine_key_system_properties.h" | 5 #include "components/cdm/renderer/widevine_key_system_properties.h" |
| 6 | 6 |
| 7 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. | 7 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. |
| 8 | 8 |
| 9 #if defined(WIDEVINE_CDM_AVAILABLE) | 9 #if defined(WIDEVINE_CDM_AVAILABLE) |
| 10 | 10 |
| 11 using media::EmeConfigRule; | 11 using media::EmeConfigRule; |
| 12 using media::EmeFeatureSupport; | 12 using media::EmeFeatureSupport; |
| 13 using media::EmeInitDataType; | 13 using media::EmeInitDataType; |
| 14 using media::EmeMediaType; | 14 using media::EmeMediaType; |
| 15 using media::EmeRobustness; | 15 using media::EmeRobustness; |
| 16 using media::EmeSessionTypeSupport; | 16 using media::EmeSessionTypeSupport; |
| 17 using media::SupportedCodecs; | 17 using media::SupportedCodecs; |
| 18 | 18 |
| 19 namespace cdm { | 19 namespace cdm { |
| 20 namespace { | |
| 21 | 20 |
| 22 EmeRobustness ConvertRobustness(const std::string& robustness) { | 21 // static |
| 22 EmeRobustness WidevineKeySystemProperties::ConvertRobustness( |
| 23 const std::string& robustness) { |
| 23 if (robustness.empty()) | 24 if (robustness.empty()) |
| 24 return EmeRobustness::EMPTY; | 25 return EmeRobustness::EMPTY; |
| 25 if (robustness == "SW_SECURE_CRYPTO") | 26 if (robustness == "SW_SECURE_CRYPTO") |
| 26 return EmeRobustness::SW_SECURE_CRYPTO; | 27 return EmeRobustness::SW_SECURE_CRYPTO; |
| 27 if (robustness == "SW_SECURE_DECODE") | 28 if (robustness == "SW_SECURE_DECODE") |
| 28 return EmeRobustness::SW_SECURE_DECODE; | 29 return EmeRobustness::SW_SECURE_DECODE; |
| 29 if (robustness == "HW_SECURE_CRYPTO") | 30 if (robustness == "HW_SECURE_CRYPTO") |
| 30 return EmeRobustness::HW_SECURE_CRYPTO; | 31 return EmeRobustness::HW_SECURE_CRYPTO; |
| 31 if (robustness == "HW_SECURE_DECODE") | 32 if (robustness == "HW_SECURE_DECODE") |
| 32 return EmeRobustness::HW_SECURE_DECODE; | 33 return EmeRobustness::HW_SECURE_DECODE; |
| 33 if (robustness == "HW_SECURE_ALL") | 34 if (robustness == "HW_SECURE_ALL") |
| 34 return EmeRobustness::HW_SECURE_ALL; | 35 return EmeRobustness::HW_SECURE_ALL; |
| 35 return EmeRobustness::INVALID; | 36 return EmeRobustness::INVALID; |
| 36 } | 37 } |
| 37 | 38 |
| 38 } // namespace | |
| 39 | |
| 40 WidevineKeySystemProperties::WidevineKeySystemProperties( | 39 WidevineKeySystemProperties::WidevineKeySystemProperties( |
| 41 media::SupportedCodecs supported_codecs, | 40 media::SupportedCodecs supported_codecs, |
| 42 #if defined(OS_ANDROID) | 41 #if BUILDFLAG(ENABLE_HW_SECURE_CODEC) |
| 43 media::SupportedCodecs supported_secure_codecs, | 42 media::SupportedCodecs supported_secure_codecs, |
| 44 #endif // defined(OS_ANDROID) | 43 #endif // BUILDFLAG(ENABLE_HW_SECURE_CODEC) |
| 45 media::EmeRobustness max_audio_robustness, | 44 media::EmeRobustness max_audio_robustness, |
| 46 media::EmeRobustness max_video_robustness, | 45 media::EmeRobustness max_video_robustness, |
| 47 media::EmeSessionTypeSupport persistent_license_support, | 46 media::EmeSessionTypeSupport persistent_license_support, |
| 48 media::EmeSessionTypeSupport persistent_release_message_support, | 47 media::EmeSessionTypeSupport persistent_release_message_support, |
| 49 media::EmeFeatureSupport persistent_state_support, | 48 media::EmeFeatureSupport persistent_state_support, |
| 50 media::EmeFeatureSupport distinctive_identifier_support) | 49 media::EmeFeatureSupport distinctive_identifier_support) |
| 51 : supported_codecs_(supported_codecs), | 50 : supported_codecs_(supported_codecs), |
| 52 #if defined(OS_ANDROID) | 51 #if BUILDFLAG(ENABLE_HW_SECURE_CODEC) |
| 53 supported_secure_codecs_(supported_secure_codecs), | 52 supported_secure_codecs_(supported_secure_codecs), |
| 54 #endif // defined(OS_ANDROID) | 53 #endif // BUILDFLAG(ENABLE_HW_SECURE_CODEC) |
| 55 max_audio_robustness_(max_audio_robustness), | 54 max_audio_robustness_(max_audio_robustness), |
| 56 max_video_robustness_(max_video_robustness), | 55 max_video_robustness_(max_video_robustness), |
| 57 persistent_license_support_(persistent_license_support), | 56 persistent_license_support_(persistent_license_support), |
| 58 persistent_release_message_support_(persistent_release_message_support), | 57 persistent_release_message_support_(persistent_release_message_support), |
| 59 persistent_state_support_(persistent_state_support), | 58 persistent_state_support_(persistent_state_support), |
| 60 distinctive_identifier_support_(distinctive_identifier_support) { | 59 distinctive_identifier_support_(distinctive_identifier_support) { |
| 61 } | 60 } |
| 62 | 61 |
| 63 std::string WidevineKeySystemProperties::GetKeySystemName() const { | 62 std::string WidevineKeySystemProperties::GetKeySystemName() const { |
| 64 return kWidevineKeySystem; | 63 return kWidevineKeySystem; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 76 return (supported_codecs_ & media::EME_CODEC_MP4_ALL) != 0; | 75 return (supported_codecs_ & media::EME_CODEC_MP4_ALL) != 0; |
| 77 #endif // defined(USE_PROPRIETARY_CODECS) | 76 #endif // defined(USE_PROPRIETARY_CODECS) |
| 78 | 77 |
| 79 return false; | 78 return false; |
| 80 } | 79 } |
| 81 | 80 |
| 82 SupportedCodecs WidevineKeySystemProperties::GetSupportedCodecs() const { | 81 SupportedCodecs WidevineKeySystemProperties::GetSupportedCodecs() const { |
| 83 return supported_codecs_; | 82 return supported_codecs_; |
| 84 } | 83 } |
| 85 | 84 |
| 86 #if defined(OS_ANDROID) | 85 #if BUILDFLAG(ENABLE_HW_SECURE_CODEC) |
| 87 SupportedCodecs WidevineKeySystemProperties::GetSupportedSecureCodecs() const { | 86 SupportedCodecs WidevineKeySystemProperties::GetSupportedSecureCodecs() const { |
| 88 return supported_secure_codecs_; | 87 return supported_secure_codecs_; |
| 89 } | 88 } |
| 90 #endif | 89 #endif // BUILDFLAG(ENABLE_HW_SECURE_CODEC) |
| 91 | 90 |
| 92 EmeConfigRule WidevineKeySystemProperties::GetRobustnessConfigRule( | 91 EmeConfigRule WidevineKeySystemProperties::GetRobustnessConfigRule( |
| 93 EmeMediaType media_type, | 92 EmeMediaType media_type, |
| 94 const std::string& requested_robustness) const { | 93 const std::string& requested_robustness) const { |
| 95 EmeRobustness robustness = ConvertRobustness(requested_robustness); | 94 EmeRobustness robustness = ConvertRobustness(requested_robustness); |
| 96 if (robustness == EmeRobustness::INVALID) | 95 if (robustness == EmeRobustness::INVALID) |
| 97 return EmeConfigRule::NOT_SUPPORTED; | 96 return EmeConfigRule::NOT_SUPPORTED; |
| 98 | 97 |
| 99 EmeRobustness max_robustness = EmeRobustness::INVALID; | 98 EmeRobustness max_robustness = EmeRobustness::INVALID; |
| 100 switch (media_type) { | 99 switch (media_type) { |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 | 166 |
| 168 #if defined(ENABLE_PEPPER_CDMS) | 167 #if defined(ENABLE_PEPPER_CDMS) |
| 169 std::string WidevineKeySystemProperties::GetPepperType() const { | 168 std::string WidevineKeySystemProperties::GetPepperType() const { |
| 170 return kWidevineCdmPluginMimeType; | 169 return kWidevineCdmPluginMimeType; |
| 171 } | 170 } |
| 172 #endif | 171 #endif |
| 173 | 172 |
| 174 } // namespace cdm | 173 } // namespace cdm |
| 175 | 174 |
| 176 #endif // WIDEVINE_CDM_AVAILABLE | 175 #endif // WIDEVINE_CDM_AVAILABLE |
| OLD | NEW |