diff -up chromium-62.0.3192.0/media/base/mime_util_internal.h.wmvflvmpg chromium-62.0.3192.0/media/base/mime_util_internal.h --- chromium-62.0.3192.0/media/base/mime_util_internal.h.wmvflvmpg 2017-08-30 15:52:00.602204610 +0200 +++ chromium-62.0.3192.0/media/base/mime_util_internal.h 2017-08-30 15:52:00.616204356 +0200 @@ -48,7 +48,19 @@ class MEDIA_EXPORT MimeUtil { MP2, MPEG4_SP, MPEG4_ASP, - LAST_CODEC = MPEG4_ASP + MSMPEG4v1, + MSMPEG4v2, + MSMPEG4v3, + WMV7, + WMV8, + WMV9, + VC1, + WMA, + VP6, + MPEG1, + MPEG2, + FLV1, + LAST_CODEC = FLV1 }; // Platform configuration structure. Controls which codecs are supported at diff -up chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc.flv1 chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc --- chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc.flv1 2016-03-23 18:22:20.227596097 +0100 +++ chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc 2016-03-23 18:22:20.245595771 +0100 @@ -197,6 +197,28 @@ return kCodecVP9; case AV_CODEC_ID_AV1: return kCodecAV1; + case AV_CODEC_ID_MSMPEG4V1: + return kCodecMSMPEG4V1; + case AV_CODEC_ID_MSMPEG4V2: + return kCodecMSMPEG4V2; + case AV_CODEC_ID_MSMPEG4V3: + return kCodecMSMPEG4V3; + case AV_CODEC_ID_WMV1: + return kCodecWMV7; + case AV_CODEC_ID_WMV2: + return kCodecWMV8; + case AV_CODEC_ID_WMV3: + return kCodecWMV9; + case AV_CODEC_ID_VC1: + return kCodecVC1; + case AV_CODEC_ID_VP6: + return kCodecVP6; + case AV_CODEC_ID_MPEG1VIDEO: + return kCodecMPEG1; + case AV_CODEC_ID_MPEG2VIDEO: + return kCodecMPEG2; + case AV_CODEC_ID_FLV1: + return kCodecSorensonSpark; default: DVLOG(1) << "Unknown video CodecID: " << codec_id; } @@ -221,6 +223,28 @@ return AV_CODEC_ID_VP9; case kCodecAV1: return AV_CODEC_ID_AV1; + case kCodecMSMPEG4V1: + return AV_CODEC_ID_MSMPEG4V1; + case kCodecMSMPEG4V2: + return AV_CODEC_ID_MSMPEG4V2; + case kCodecMSMPEG4V3: + return AV_CODEC_ID_MSMPEG4V3; + case kCodecWMV7: + return AV_CODEC_ID_WMV1; + case kCodecWMV8: + return AV_CODEC_ID_WMV2; + case kCodecWMV9: + return AV_CODEC_ID_WMV3; + case kCodecVC1: + return AV_CODEC_ID_VC1; + case kCodecVP6: + return AV_CODEC_ID_VP6; + case kCodecMPEG1: + return AV_CODEC_ID_MPEG1VIDEO; + case kCodecMPEG2: + return AV_CODEC_ID_MPEG2VIDEO; + case kCodecSorensonSpark: + return AV_CODEC_ID_FLV1; default: DVLOG(1) << "Unknown VideoCodec: " << video_codec; } --- chromium-56.0.2924.10/media/remoting/proto_enum_utils.cc.bak.2 2016-12-01 23:42:15.717317808 +0100 +++ chromium-56.0.2924.10/media/remoting/proto_enum_utils.cc 2016-12-01 23:44:59.695754038 +0100 @@ -227,6 +227,15 @@ CASE_RETURN_OTHER(kCodecHEVC); CASE_RETURN_OTHER(kCodecDolbyVision); CASE_RETURN_OTHER(kCodecAV1); + CASE_RETURN_OTHER(kCodecMSMPEG4V1); + CASE_RETURN_OTHER(kCodecMSMPEG4V2); + CASE_RETURN_OTHER(kCodecMSMPEG4V3); + CASE_RETURN_OTHER(kCodecWMV7); + CASE_RETURN_OTHER(kCodecWMV8); + CASE_RETURN_OTHER(kCodecWMV9); + CASE_RETURN_OTHER(kCodecVP6); + CASE_RETURN_OTHER(kCodecMPEG1); + CASE_RETURN_OTHER(kCodecSorensonSpark); } return base::nullopt; // Not a 'default' to ensure compile-time checks. } @@ -247,6 +248,15 @@ CASE_RETURN_OTHER(kCodecHEVC); CASE_RETURN_OTHER(kCodecDolbyVision); CASE_RETURN_OTHER(kCodecAV1); + CASE_RETURN_OTHER(kCodecMSMPEG4V1); + CASE_RETURN_OTHER(kCodecMSMPEG4V2); + CASE_RETURN_OTHER(kCodecMSMPEG4V3); + CASE_RETURN_OTHER(kCodecWMV7); + CASE_RETURN_OTHER(kCodecWMV8); + CASE_RETURN_OTHER(kCodecWMV9); + CASE_RETURN_OTHER(kCodecVP6); + CASE_RETURN_OTHER(kCodecMPEG1); + CASE_RETURN_OTHER(kCodecSorensonSpark); } return base::nullopt; // Not a 'default' to ensure compile-time checks. } --- chromium-56.0.2924.10/media/remoting/media_remoting_rpc.proto.bak.2 2016-12-02 02:15:05.660562641 +0100 +++ chromium-56.0.2924.10/media/remoting/media_remoting_rpc.proto 2016-12-02 02:15:48.885796867 +0100 @@ -154,6 +154,15 @@ kCodecHEVC = 8; kCodecDolbyVision = 9; kCodecAV1 = 10; + kCodecMSMPEG4V1 = 11; + kCodecMSMPEG4V2 = 12; + kCodecMSMPEG4V3 = 13; + kCodecWMV7 = 14; + kCodecWMV8 = 15; + kCodecWMV9 = 16; + kCodecVP6 = 17; + kCodecMPEG1 = 18; + kCodecSorensonSpark = 19; } // Proto version of media::VideoCodecProfile. --- chromium-56.0.2924.10/media/base/video_codecs.h.bak 2016-12-05 00:29:39.341097040 +0100 +++ chromium-56.0.2924.10/media/base/video_codecs.h 2016-12-05 00:30:04.352645151 +0100 @@ -31,12 +31,21 @@ kCodecHEVC, kCodecDolbyVision, kCodecAV1, + kCodecMSMPEG4V1, + kCodecMSMPEG4V2, + kCodecMSMPEG4V3, + kCodecWMV7, + kCodecWMV8, + kCodecWMV9, + kCodecVP6, + kCodecMPEG1, + kCodecSorensonSpark, // DO NOT ADD RANDOM VIDEO CODECS! // // The only acceptable time to add a new codec is if there is production code // that uses said codec in the same CL. - kVideoCodecMax = kCodecAV1, // Must equal the last "real" codec above. + kVideoCodecMax = kCodecSorensonSpark, // Must equal the last "real" codec above. }; // Video codec profiles. Keep in sync with mojo::VideoCodecProfile (see --- chromium-56.0.2924.10/media/base/video_codecs.cc.bak 2016-11-29 21:04:19.000000000 +0100 +++ chromium-56.0.2924.10/media/base/video_codecs.cc 2016-12-05 00:32:51.625621718 +0100 @@ -37,6 +37,24 @@ return "vp9"; case kCodecAV1: return "av1"; + case kCodecMSMPEG4V1: + return "msmpeg4v1"; + case kCodecMSMPEG4V2: + return "msmpeg4v2"; + case kCodecMSMPEG4V3: + return "msmpeg4v2"; + case kCodecWMV7: + return "wmv1"; + case kCodecWMV8: + return "wmv2"; + case kCodecWMV9: + return "wmv3"; + case kCodecVP6: + return "vp6"; + case kCodecMPEG1: + return "mpeg1video"; + case kCodecSorensonSpark: + return "flv1"; } NOTREACHED(); return ""; @@ -638,6 +640,28 @@ if (ParseDolbyVisionCodecId(codec_id, &profile, &level)) return kCodecDolbyVision; #endif + if (codec_id == "msmpeg4v1") + return kCodecMSMPEG4V1; + if (codec_id == "msmpeg4v2") + return kCodecMSMPEG4V2; + if (codec_id == "msmpeg4v2") + return kCodecMSMPEG4V3; + if (codec_id == "wmv1") + return kCodecWMV7; + if (codec_id == "wmv2") + return kCodecWMV8; + if (codec_id == "wmv3") + return kCodecWMV9; + if (codec_id == "vc1") + return kCodecVC1; + if (codec_id == "vp6") + return kCodecVP6; + if (codec_id == "mpeg1video") + return kCodecMPEG1; + if (codec_id == "mpeg2video") + return kCodecMPEG2; + if (codec_id == "flv1") + return kCodecSorensonSpark; return kUnknownVideoCodec; } --- chromium-56.0.2924.21/media/filters/ffmpeg_video_decoder.cc.flv 2016-12-10 20:33:18.005427356 +0100 +++ chromium-56.0.2924.21/media/filters/ffmpeg_video_decoder.cc 2016-12-10 20:34:28.610202853 +0100 @@ -46,6 +46,15 @@ case kCodecTheora: case kCodecMPEG4: + case kCodecMSMPEG4V1: + case kCodecMSMPEG4V2: + case kCodecMSMPEG4V3: + case kCodecWMV7: + case kCodecWMV8: + case kCodecWMV9: + case kCodecVP6: + case kCodecMPEG1: + case kCodecSorensonSpark: // No extra threads for these codecs. break; --- chromium-73.0.3683.75/media/base/supported_types.cc.flv 2019-03-17 18:44:45.934825471 +0100 +++ chromium-73.0.3683.75/media/base/supported_types.cc 2019-03-17 18:44:50.562746764 +0100 @@ -217,6 +217,15 @@ bool IsVideoCodecProprietary(VideoCodec case kCodecMPEG4: case kCodecHEVC: case kCodecDolbyVision: + case kCodecMSMPEG4V1: + case kCodecMSMPEG4V2: + case kCodecMSMPEG4V3: + case kCodecWMV7: + case kCodecWMV8: + case kCodecWMV9: + case kCodecVP6: + case kCodecMPEG1: + case kCodecSorensonSpark: return true; case kUnknownVideoCodec: case kCodecTheora: @@ -255,6 +254,15 @@ bool IsDefaultSupportedVideoType(const V case media::kCodecMPEG2: case media::kCodecMPEG4: case media::kCodecHEVC: + case media::kCodecMSMPEG4V1: + case media::kCodecMSMPEG4V2: + case media::kCodecMSMPEG4V3: + case media::kCodecWMV7: + case media::kCodecWMV8: + case media::kCodecWMV9: + case media::kCodecVP6: + case media::kCodecMPEG1: + case media::kCodecSorensonSpark: return true; case media::kUnknownVideoCodec: