diff -up chromium-52.0.2716.0/media/base/mime_util_internal.cc.matroska-avi chromium-52.0.2716.0/media/base/mime_util_internal.cc --- chromium-52.0.2716.0/media/base/mime_util_internal.cc.matroska-avi 2016-04-27 00:02:52.000000000 +0200 +++ chromium-52.0.2716.0/media/base/mime_util_internal.cc 2016-04-27 08:42:25.933047659 +0200 @@ -76,7 +76,11 @@ static const CodecIDMappings kUnambiguou {"opus", MimeUtil::OPUS}, {"vp8", MimeUtil::VP8}, {"vp8.0", MimeUtil::VP8}, - {"theora", MimeUtil::THEORA}}; + {"theora", MimeUtil::THEORA}, + {"dts", MimeUtil::DTS}, + {"mp2", MimeUtil::MP2}, + {"mp4v.20.9", MimeUtil::MPEG4_SP}, + {"mp4v.20.240", MimeUtil::MPEG4_ASP}}; // List of codec IDs that are ambiguous and don't provide // enough information to determine the codec and profile. @@ -325,6 +329,31 @@ void MimeUtil::AddSupportedMediaFormats( #endif // !defined(OS_ANDROID) CodecSet ogg_codecs(ogg_audio_codecs); ogg_codecs.insert(ogg_video_codecs.begin(), ogg_video_codecs.end()); + + CodecSet matroska_audio_codecs; + matroska_audio_codecs.insert(OPUS); + matroska_audio_codecs.insert(VORBIS); + matroska_audio_codecs.insert(AC3); + matroska_audio_codecs.insert(EAC3); + matroska_audio_codecs.insert(DTS); + matroska_audio_codecs.insert(MP3); + matroska_audio_codecs.insert(MP2); + matroska_audio_codecs.insert(MPEG2_AAC); + matroska_audio_codecs.insert(MPEG4_AAC); + matroska_audio_codecs.insert(PCM); + + CodecSet matroska_video_codecs; + matroska_video_codecs.insert(THEORA); + matroska_video_codecs.insert(VP8); + matroska_video_codecs.insert(VP9); + matroska_video_codecs.insert(H264); + matroska_video_codecs.insert(MPEG4_SP); + matroska_video_codecs.insert(MPEG4_ASP); +#if BUILDFLAG(ENABLE_HEVC_DEMUXING) + matroska_video_codecs.insert(HEVC); +#endif // BUILDFLAG(ENABLE_HEVC_DEMUXING) + CodecSet matroska_codecs(matroska_audio_codecs); + matroska_codecs.insert(matroska_video_codecs.begin(), matroska_video_codecs.end()); CodecSet webm_audio_codecs; webm_audio_codecs.insert(OPUS); @@ -380,6 +409,9 @@ void MimeUtil::AddSupportedMediaFormats( // TODO(ddorwin): Should the application type support Opus? AddContainerWithCodecs("application/ogg", ogg_codecs, false); + AddContainerWithCodecs("audio/x-matroska", matroska_audio_codecs, false); + AddContainerWithCodecs("video/x-matroska", matroska_codecs, false); + #if defined(USE_PROPRIETARY_CODECS) AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3". AddContainerWithCodecs("audio/mp3", implicit_codec, true); @@ -733,6 +765,9 @@ bool MimeUtil::IsCodecProprietary(Codec case MPEG4_AAC: case H264: case HEVC: + case DTS: + case MPEG4_SP: + case MPEG4_ASP: return true; case PCM: diff -up chromium-52.0.2716.0/media/base/mime_util_internal.h.matroska-avi chromium-52.0.2716.0/media/base/mime_util_internal.h --- chromium-52.0.2716.0/media/base/mime_util_internal.h.matroska-avi 2016-04-27 00:02:52.000000000 +0200 +++ chromium-52.0.2716.0/media/base/mime_util_internal.h 2016-04-27 08:14:04.560330601 +0200 @@ -39,7 +39,11 @@ class MEDIA_EXPORT MimeUtil { VP8, VP9, THEORA, - LAST_CODEC = THEORA + DTS, + MP2, + MPEG4_SP, + MPEG4_ASP, + LAST_CODEC = MPEG4_ASP }; // Platform configuration structure. Controls which codecs are supported at diff -up chromium-52.0.2716.0/net/base/mime_util.cc.matroska-avi chromium-52.0.2716.0/net/base/mime_util.cc --- chromium-52.0.2716.0/net/base/mime_util.cc.matroska-avi 2016-04-27 00:02:52.000000000 +0200 +++ chromium-52.0.2716.0/net/base/mime_util.cc 2016-04-27 08:14:04.561330581 +0200 @@ -78,6 +78,9 @@ static const MimeInfo kPrimaryMappings[] {"audio/webm", "webm"}, {"audio/wav", "wav"}, {"audio/flac", "flac"}, + {"video/x-matroska", "mkv"}, + {"audio/x-matroska", "mkv"}, + {"video/x-msvideo", "avi"}, {"application/xhtml+xml", "xhtml,xht,xhtm"}, {"application/x-chrome-extension", "crx"}, {"multipart/related", "mhtml,mht"}}; @@ -425,6 +428,7 @@ static const char* const kStandardAudioT "audio/vorbis", "audio/wav", "audio/webm", + "audio/x-matroska", "audio/x-m4a", "audio/x-ms-wma", "audio/vnd.rn-realaudio", @@ -442,6 +446,7 @@ static const char* const kStandardVideoT "video/webm", "video/x-dv", "video/x-m4v", + "video/x-matroska", "video/x-mpeg", "video/x-ms-asf", "video/x-ms-wmv"