Chromium Code Reviews| Index: media/base/key_systems.cc |
| diff --git a/media/base/key_systems.cc b/media/base/key_systems.cc |
| index 78a1904609733808d5c3db979646f899bfd61165..6c2c8c2db31312b7074a4cc816a4ce3f9fb1a765 100644 |
| --- a/media/base/key_systems.cc |
| +++ b/media/base/key_systems.cc |
| @@ -783,8 +783,8 @@ EmeConfigRule KeySystemsImpl::GetRobustnessConfigRule( |
| return EmeConfigRule::NOT_SUPPORTED; |
| } |
| - if (key_system == kWidevineKeySystem) { |
| #if defined(OS_CHROMEOS) |
| + if (key_system == kWidevineKeySystem) { |
| // TODO(ddorwin): Remove this once we have confirmed it is not necessary. |
| // See https://crbug.com/482277 |
| if (robustness == EmeRobustness::EMPTY) |
| @@ -802,11 +802,16 @@ EmeConfigRule KeySystemsImpl::GetRobustnessConfigRule( |
| max_robustness == EmeRobustness::HW_SECURE_ALL) { |
| return EmeConfigRule::IDENTIFIER_RECOMMENDED; |
| } |
| + } |
| #elif defined(OS_ANDROID) |
| - if (robustness > EmeRobustness::SW_SECURE_CRYPTO) |
| - return EmeConfigRule::HW_SECURE_CODECS_REQUIRED; |
| -#endif // defined(OS_CHROMEOS) |
| + // Require hardware secure codecs for Widevine when SW_SECURE_DECODE or above |
| + // is specified, or for all other key systems (excluding Clear Key). |
| + if ((key_system == kWidevineKeySystem && |
| + robustness >= EmeRobustness::SW_SECURE_DECODE) || |
|
xhwang
2016/01/15 01:19:04
I changed this to be >= which I think is more expl
ddorwin
2016/01/15 01:32:06
Agreed.
|
| + !IsClearKey(key_system)) { |
| + return EmeConfigRule::HW_SECURE_CODECS_REQUIRED; |
| } |
| +#endif // defined(OS_CHROMEOS) |
| return EmeConfigRule::SUPPORTED; |
| } |