| Index: media/base/mime_util_internal.cc
 | 
| diff --git a/media/base/mime_util_internal.cc b/media/base/mime_util_internal.cc
 | 
| index db4f10b97cedcb8392e48a6731cd585e9f0424e9..9bb409995088b2a0d77ae2bfd2008796b7a5c229 100644
 | 
| --- a/media/base/mime_util_internal.cc
 | 
| +++ b/media/base/mime_util_internal.cc
 | 
| @@ -136,6 +136,31 @@ MimeUtil::MimeUtil() : allow_proprietary_codecs_(false) {
 | 
|  
 | 
|  MimeUtil::~MimeUtil() {}
 | 
|  
 | 
| +AudioCodec MimeUtilToAudioCodec(MimeUtil::Codec codec) {
 | 
| +  switch (codec) {
 | 
| +    case MimeUtil::PCM:
 | 
| +      return kCodecPCM;
 | 
| +    case MimeUtil::MP3:
 | 
| +      return kCodecMP3;
 | 
| +    case MimeUtil::AC3:
 | 
| +      return kCodecAC3;
 | 
| +    case MimeUtil::EAC3:
 | 
| +      return kCodecEAC3;
 | 
| +    case MimeUtil::MPEG2_AAC:
 | 
| +    case MimeUtil::MPEG4_AAC:
 | 
| +      return kCodecAAC;
 | 
| +    case MimeUtil::VORBIS:
 | 
| +      return kCodecVorbis;
 | 
| +    case MimeUtil::OPUS:
 | 
| +      return kCodecOpus;
 | 
| +    case MimeUtil::FLAC:
 | 
| +      return kCodecFLAC;
 | 
| +    default:
 | 
| +      break;
 | 
| +  }
 | 
| +  return kUnknownAudioCodec;
 | 
| +}
 | 
| +
 | 
|  VideoCodec MimeUtilToVideoCodec(MimeUtil::Codec codec) {
 | 
|    switch (codec) {
 | 
|      case MimeUtil::H264:
 | 
| @@ -710,6 +735,21 @@ SupportsType MimeUtil::IsCodecSupported(const std::string& mime_type_lower_case,
 | 
|      ambiguous_platform_support = true;
 | 
|    }
 | 
|  
 | 
| +  AudioCodec audio_codec = MimeUtilToAudioCodec(codec);
 | 
| +  if (audio_codec != kUnknownAudioCodec) {
 | 
| +    AudioConfig audio_config = {audio_codec};
 | 
| +
 | 
| +    // If MediaClient is provided use it to check for decoder support.
 | 
| +    MediaClient* media_client = GetMediaClient();
 | 
| +    if (media_client && !media_client->IsSupportedAudioConfig(audio_config))
 | 
| +      return IsNotSupported;
 | 
| +
 | 
| +    // When no MediaClient is provided, assume default decoders are available
 | 
| +    // as described by media::IsSupportedAudioConfig().
 | 
| +    if (!media_client && !IsSupportedAudioConfig(audio_config))
 | 
| +      return IsNotSupported;
 | 
| +  }
 | 
| +
 | 
|    if (video_codec != kUnknownVideoCodec) {
 | 
|      VideoConfig video_config = {video_codec, video_profile, video_level,
 | 
|                                  color_space};
 | 
| 
 |