| Index: media/blink/webencryptedmediaclient_impl.cc
|
| diff --git a/media/blink/webencryptedmediaclient_impl.cc b/media/blink/webencryptedmediaclient_impl.cc
|
| index a0cc0d05c872da08913e80132500e4d9121d138e..ccd44fb528f562d24de1e35b02f771f25eacef0b 100644
|
| --- a/media/blink/webencryptedmediaclient_impl.cc
|
| +++ b/media/blink/webencryptedmediaclient_impl.cc
|
| @@ -136,8 +136,9 @@ static bool IsSupportedContentType(
|
| // parameters can be rejected. http://crbug.com/417561
|
| std::string container_lower = base::StringToLowerASCII(container_mime_type);
|
|
|
| - // Check that |codecs| are supported by the CDM. This check does not handle
|
| - // extended codecs, so extended codec information is stripped.
|
| + // Check that |container_mime_type| and |codecs| are supported by the CDM.
|
| + // This check does not handle extended codecs, so extended codec information
|
| + // is stripped.
|
| std::vector<std::string> codec_vector;
|
| net::ParseCodecString(codecs, &codec_vector, true);
|
| if (!key_systems.IsSupportedCodecCombination(
|
| @@ -145,11 +146,13 @@ static bool IsSupportedContentType(
|
| return false;
|
| }
|
|
|
| + if (codec_vector.empty())
|
| + return true;
|
| +
|
| // Check that |codecs| are supported by Chrome. This is done primarily to
|
| // validate extended codecs, but it also ensures that the CDM cannot support
|
| - // codecs that Chrome does not (which would be bad because it would require
|
| - // considering the accumulated configuration, and could affect whether secure
|
| - // decode is required).
|
| + // codecs that Chrome does not (which could complicate the robustness
|
| + // algorithm).
|
| codec_vector.clear();
|
| net::ParseCodecString(codecs, &codec_vector, false);
|
| return (net::IsSupportedStrictMediaMimeType(container_lower, codec_vector) ==
|
|
|