diff -up chromium-49.0.2618.8/media/base/mime_util.cc.matroska-avi chromium-49.0.2618.8/media/base/mime_util.cc --- chromium-49.0.2618.8/media/base/mime_util.cc.matroska-avi 2016-01-09 09:01:29.000000000 +0100 +++ chromium-49.0.2618.8/media/base/mime_util.cc 2016-01-14 22:37:15.949619299 +0100 @@ -46,7 +46,11 @@ class MimeUtil { HEVC_MAIN, VP8, VP9, - THEORA + THEORA, + DTS, + MP2, + MPEG4_SP, + MPEG4_ASP }; bool IsSupportedMediaMimeType(const std::string& mime_type) const; @@ -264,6 +269,8 @@ static const MediaFormat kFormatCodecMap {"audio/ogg", COMMON, "opus,vorbis"}, {"application/ogg", COMMON, "opus,theora,vorbis"}, #endif + { "video/x-matroska", COMMON, "avc1.42E00A,avc1.4D400A,avc1.64000A," "mp4a.66,mp4a.67,mp4a.68,mp4a.69,mp4a.6B,mp4a.40.2,mp4a.40.5" ",opus,vorbis,vp8,vp8.0,vp9,vp9.0,ac-3,ec-3,dts,mp3,mp2" }, + { "audio/x-matroska", COMMON, "mp4a.66,mp4a.67,mp4a.68,mp4a.69,mp4a.6B,mp4a.40.2,mp4a.40.5" ",opus,vorbis,ac-3,ec-3,dts,mp3,mp2" }, #if defined(USE_PROPRIETARY_CODECS) {"audio/mpeg", PROPRIETARY, "mp3"}, {"audio/mp3", PROPRIETARY, ""}, @@ -273,6 +280,7 @@ static const MediaFormat kFormatCodecMap {"audio/x-m4a", PROPRIETARY, kMP4AudioCodecsExpression}, {"video/mp4", PROPRIETARY, kMP4VideoCodecsExpression}, {"video/x-m4v", PROPRIETARY, kMP4VideoCodecsExpression}, + { "video/x-msvideo", PROPRIETARY, "avc1.42E00A,avc1.4D400A,avc1.64000A," "mp4a.66,mp4a.67,mp4a.68,mp4a.69,mp4a.6B,mp4a.40.2,mp4a.40.5" ",mp4v.20.9,mp4v.20.240,ac-3,ec-3,dts,mp3,mp2"}, #if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER) {"video/mp2t", PROPRIETARY, kMP4VideoCodecsExpression}, #endif @@ -328,7 +336,11 @@ static const CodecIDMappings kUnambiguou {"vp8.0", MimeUtil::VP8}, {"vp9", MimeUtil::VP9}, {"vp9.0", MimeUtil::VP9}, - {"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. @@ -682,6 +695,9 @@ bool MimeUtil::IsCodecProprietary(Codec case H264_MAIN: case H264_HIGH: case HEVC_MAIN: + case DTS: + case MPEG4_SP: + case MPEG4_ASP: return true; case PCM: diff -up chromium-49.0.2618.8/net/base/mime_util.cc.matroska-avi chromium-49.0.2618.8/net/base/mime_util.cc --- chromium-49.0.2618.8/net/base/mime_util.cc.matroska-avi 2016-01-09 09:01:29.000000000 +0100 +++ chromium-49.0.2618.8/net/base/mime_util.cc 2016-01-14 22:40:00.270595513 +0100 @@ -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" --- chromium-49.0.2623.87/media/base/mime_util.cc.bak 2016-03-09 08:16:11.423967976 +0100 +++ chromium-49.0.2623.87/media/base/mime_util.cc 2016-03-21 21:04:40.666507883 +0100 @@ -704,6 +704,7 @@ case VP8: case VP9: case THEORA: + case MP2: return false; }