Remove patches of codecs

I am fed up in updating those patches to newer releases of Chromium,
they seem to be not really useful and, if I remember correctly, they made some regressions.
Dropping them.
This commit is contained in:
Mikhail Novosyolov 2021-05-06 00:49:26 +03:00
parent 2d2c618019
commit f47f95e40d
4 changed files with 0 additions and 944 deletions

View file

@ -1,381 +0,0 @@
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,20 @@ class MEDIA_EXPORT MimeUtil {
MP2,
MPEG4_SP,
MPEG4_ASP,
- LAST_CODEC = MPEG4_ASP
+ MSMPEG4v1,
+ MSMPEG4v2,
+ MSMPEG4v3,
+ WMV7,
+ WMV8,
+ WMV9,
+ VC1,
+ WMA1,
+ WMA2,
+ 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
@@ -120,6 +120,10 @@ AudioCodec CodecIDToAudioCodec(AVCodecID
return kCodecMP2;
case AV_CODEC_ID_DTS:
return kCodecDTS;
+ case AV_CODEC_ID_WMAV1:
+ return kCodecWMA1;
+ case AV_CODEC_ID_WMAV2:
+ return kCodecWMA2;
default:
DVLOG(1) << "Unknown audio CodecID: " << codec_id;
}
@@ -179,6 +183,10 @@ AVCodecID AudioCodecToCodecID(AudioCodec
return AV_CODEC_ID_MP2;
case kCodecDTS:
return AV_CODEC_ID_DTS;
+ case kCodecWMA1:
+ return AV_CODEC_ID_WMAV1;
+ case kCodecWMA2:
+ return AV_CODEC_ID_WMAV2;
default:
DVLOG(1) << "Unknown AudioCodec: " << audio_codec;
}
@@ -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;
}
--- 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
@@ -36,6 +36,8 @@ base::Optional<AudioCodec> ToMediaAudioC
CASE_RETURN_OTHER(kCodecMpegHAudio);
CASE_RETURN_OTHER(kCodecMP2);
CASE_RETURN_OTHER(kCodecDTS);
+ CASE_RETURN_OTHER(kCodecWMA1);
+ CASE_RETURN_OTHER(kCodecWMA2);
}
return base::nullopt; // Not a 'default' to ensure compile-time checks.
}
@@ -65,6 +67,8 @@ base::Optional<pb::AudioDecoderConfig::C
CASE_RETURN_OTHER(kCodecMpegHAudio);
CASE_RETURN_OTHER(kCodecMP2);
CASE_RETURN_OTHER(kCodecDTS);
+ CASE_RETURN_OTHER(kCodecWMA1);
+ CASE_RETURN_OTHER(kCodecWMA2);
}
return base::nullopt; // Not a 'default' to ensure compile-time checks.
}
@@ -211,6 +215,15 @@ base::Optional<VideoCodec> ToMediaVideoC
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.
}
@@ -231,6 +244,15 @@ base::Optional<pb::VideoDecoderConfig::C
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
@@ -69,6 +69,8 @@ message AudioDecoderConfig {
kCodecMpegHAudio = 17;
kCodecMP2 = 18;
kCodecDTS = 19;
+ kCodecWMA1 = 20;
+ kCodecWMA2 = 21;
}
// Proto version of media::SampleFormat.
@@ -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
@@ -38,6 +38,24 @@ std::string GetCodecName(VideoCodec code
return "vp9";
case kCodecAV1:
return "av1";
+ case kCodecMSMPEG4V1:
+ return "msmpeg4v1";
+ case kCodecMSMPEG4V2:
+ return "msmpeg4v2";
+ case kCodecMSMPEG4V3:
+ return "msmpeg4v3";
+ 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 "";
@@ -886,6 +904,50 @@ void ParseCodec(const std::string& codec
return;
}
#endif
+ if (codec_id == "msmpeg4v1") {
+ codec = kCodecMSMPEG4V1;
+ return;
+ }
+ if (codec_id == "msmpeg4v2") {
+ codec = kCodecMSMPEG4V2;
+ return;
+ }
+ if (codec_id == "msmpeg4v3") {
+ codec = kCodecMSMPEG4V3;
+ return;
+ }
+ if (codec_id == "wmv1") {
+ codec = kCodecWMV7;
+ return;
+ }
+ if (codec_id == "wmv2") {
+ codec = kCodecWMV8;
+ return;
+ }
+ if (codec_id == "wmv3") {
+ codec = kCodecWMV9;
+ return;
+ }
+ if (codec_id == "vc1") {
+ codec = kCodecVC1;
+ return;
+ }
+ if (codec_id == "vp6") {
+ codec = kCodecVP6;
+ return;
+ }
+ if (codec_id == "mpeg1video") {
+ codec = kCodecMPEG1;
+ return;
+ }
+ if (codec_id == "mpeg2video") {
+ codec = kCodecMPEG2;
+ return;
+ }
+ if (codec_id == "flv1") {
+ codec = kCodecSorensonSpark;
+ return;
+ }
codec = 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-74.0.3729.40/media/base/audio_codecs.cc.wma 2019-03-29 22:57:18.887316626 +0100
+++ chromium-74.0.3729.40/media/base/audio_codecs.cc 2019-03-29 23:15:45.965274473 +0100
@@ -50,7 +50,12 @@ std::string GetCodecName(AudioCodec code
return "mp2";
case kCodecDTS:
return "dts";
+ case kCodecWMA1:
+ return "wma1";
+ case kCodecWMA2:
+ return "wma2";
}
+ return "";
}
std::string GetProfileName(AudioCodecProfile profile) {
@@ -64,6 +65,7 @@ std::string GetProfileName(AudioCodecPro
case AudioCodecProfile::kXHE_AAC:
return "xhe-aac";
}
+ return "";
}
AudioCodec StringToAudioCodec(const std::string& codec_id) {
@@ -89,6 +93,10 @@ AudioCodec StringToAudioCodec(const std:
return kCodecMP2;
if (codec_id == "dts")
return kCodecDTS;
+ if (codec_id == "wma1")
+ return kCodecWMA1;
+ if (codec_id == "wma2")
+ return kCodecWMA2;
return kUnknownAudioCodec;
}
--- chromium-74.0.3729.40/media/base/audio_codecs.h.wma 2019-03-29 22:57:18.889316591 +0100
+++ chromium-74.0.3729.40/media/base/audio_codecs.h 2019-03-29 23:17:16.560724846 +0100
@@ -35,13 +35,15 @@ enum AudioCodec {
kCodecMpegHAudio = 17,
kCodecMP2 = 18,
kCodecDTS = 19,
+ kCodecWMA1 = 20,
+ kCodecWMA2 = 21,
// DO NOT ADD RANDOM AUDIO CODECS!
//
// The only acceptable time to add a new codec is if there is production code
// that uses said codec in the same CL.
// Must always be equal to the largest entry ever logged.
- kAudioCodecMax = kCodecDTS,
+ kAudioCodecMax = kCodecWMA2,
};
enum class AudioCodecProfile {
--- chromium-74.0.3729.40/media/base/mime_util_internal.cc.wma 2019-03-29 22:57:18.903316352 +0100
+++ chromium-74.0.3729.40/media/base/mime_util_internal.cc 2019-03-29 23:29:55.405768520 +0100
@@ -100,6 +100,8 @@ const StringToCodecMap& GetStringToCodec
{"vc-1", MimeUtil::VC1},
{"vp6", MimeUtil::VP6},
{"mpeg1", MimeUtil::MPEG1},
+ {"wma1", MimeUtil::WMA1},
+ {"wma2", MimeUtil::WMA2},
});
return *kStringToCodecMap;
@@ -180,6 +181,10 @@ AudioCodec MimeUtilToAudioCodec(MimeUtil
return kCodecDTS;
case MimeUtil::MP2:
return kCodecMP2;
+ case MimeUtil::WMA1:
+ return kCodecWMA1;
+ case MimeUtil::WMA2:
+ return kCodecWMA2;
default:
break;
}
@@ -307,6 +312,8 @@ void MimeUtil::AddSupportedMediaFormats(
matroska_audio_codecs.emplace(MPEG4_AAC);
matroska_audio_codecs.emplace(PCM);
matroska_audio_codecs.emplace(FLAC);
+ matroska_audio_codecs.emplace(WMA1);
+ matroska_audio_codecs.emplace(WMA2);
CodecSet matroska_video_codecs;
matroska_video_codecs.emplace(THEORA);
--- chromium-74.0.3729.40/media/base/media_types.cc.gcc8 2019-03-27 19:50:19.000000000 +0100
+++ chromium-74.0.3729.40/media/base/media_types.cc 2019-03-30 21:18:15.797174455 +0100
@@ -36,6 +36,15 @@ VideoType VideoType::FromDecoderConfig(c
case kCodecVC1:
case kCodecMPEG2:
case kCodecMPEG4:
+ case kCodecMSMPEG4V1:
+ case kCodecMSMPEG4V2:
+ case kCodecMSMPEG4V3:
+ case kCodecWMV7:
+ case kCodecWMV8:
+ case kCodecWMV9:
+ case kCodecVP6:
+ case kCodecMPEG1:
+ case kCodecSorensonSpark:
break;
case kCodecH264:
case kCodecVP9:

View file

@ -1,90 +0,0 @@
diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.wmvflvmpg chromium-62.0.3192.0/media/base/mime_util_internal.cc
--- chromium-62.0.3192.0/media/base/mime_util_internal.cc.wmvflvmpg 2017-08-30 15:52:00.602204610 +0200
+++ chromium-62.0.3192.0/media/base/mime_util_internal.cc 2017-08-30 16:08:19.855437935 +0200
@@ -91,6 +91,15 @@
{"mp2", MimeUtil::MP2},
{"mp4v.20.8", MimeUtil::MPEG4_SP},
{"mp4v.20.240", MimeUtil::MPEG4_ASP},
+ {"msmpeg4v1", MimeUtil::MSMPEG4v1},
+ {"msmpeg4v2", MimeUtil::MSMPEG4v2},
+ {"msmpeg4v3", MimeUtil::MSMPEG4v3},
+ {"wmv7", MimeUtil::WMV7},
+ {"wmv8", MimeUtil::WMV8},
+ {"wmv9", MimeUtil::WMV9},
+ {"vc-1", MimeUtil::VC1},
+ {"vp6", MimeUtil::VP6},
+ {"mpeg1", MimeUtil::MPEG1},
});
return *kStringToCodecMap;
@@ -323,6 +333,7 @@
CodecSet webm_codecs(webm_audio_codecs);
webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end());
+ const CodecSet mp1_codecs{MPEG1};
const CodecSet mp3_codecs{MP3, MP2};
CodecSet mp4_audio_codecs{FLAC, MP3, OPUS, MP2, DTS, AC3, EAC3};
@@ -366,6 +377,28 @@
CodecSet mp4_codecs(mp4_audio_codecs);
mp4_codecs.insert(mp4_video_codecs.begin(), mp4_video_codecs.end());
+ const CodecSet wma_codecs{WMA1, WMA2};
+
+ CodecSet wmv_codecs(wma_codecs);
+ wmv_codecs.emplace(MSMPEG4v1);
+ wmv_codecs.emplace(MSMPEG4v2);
+ wmv_codecs.emplace(MSMPEG4v3);
+ wmv_codecs.emplace(MPEG4_SP);
+ wmv_codecs.emplace(MPEG4_ASP);
+ wmv_codecs.emplace(WMV7);
+ wmv_codecs.emplace(WMV8);
+ wmv_codecs.emplace(WMV9);
+ wmv_codecs.emplace(VC1);
+
+ matroska_codecs.emplace(MSMPEG4v1);
+ matroska_codecs.emplace(MSMPEG4v2);
+ matroska_codecs.emplace(MSMPEG4v3);
+
+ CodecSet flv_codecs(mp4_codecs);
+ flv_codecs.emplace(VP6);
+ flv_codecs.emplace(MP3);
+ flv_codecs.emplace(FLV1);
+
const CodecSet implicit_codec;
AddContainerWithCodecs("audio/wav", wav_codecs);
AddContainerWithCodecs("audio/x-wav", wav_codecs);
@@ -389,6 +421,11 @@
AddContainerWithCodecs("audio/x-matroska", matroska_audio_codecs);
AddContainerWithCodecs("video/x-matroska", matroska_codecs);
AddContainerWithCodecs("video/x-msvideo", matroska_codecs);
+ AddContainerWithCodecs("video/x-ms-wmv", wmv_codecs);
+ AddContainerWithCodecs("audio/x-ms-wma", wma_codecs);
+ AddContainerWithCodecs("video/x-ms-asf", wmv_codecs);
+ AddContainerWithCodecs("video/x-flv", flv_codecs);
+ AddContainerWithCodecs("video/mpeg", mp1_codecs);
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/aac", implicit_codec); // AAC / ADTS.
diff -up chromium-62.0.3192.0/net/base/mime_util.cc.wmvflvmpg chromium-62.0.3192.0/net/base/mime_util.cc
--- chromium-62.0.3192.0/net/base/mime_util.cc.wmvflvmpg 2017-08-30 15:52:00.604204573 +0200
+++ chromium-62.0.3192.0/net/base/mime_util.cc 2017-08-30 16:08:50.210885222 +0200
@@ -94,6 +94,10 @@ static const MimeInfo kPrimaryMappings[]
{"video/x-matroska", "mkv"},
{"audio/x-matroska", "mkv"},
{"video/x-msvideo", "avi"},
+ {"video/x-ms-wmv", "wmv"},
+ {"audio/x-ms-wma", "wma"},
+ {"video/x-flv", "flv"},
+ {"video/mpeg", "mpg,mpeg"},
{"multipart/related", "mht,mhtml"},
{"text/css", "css"},
{"text/html", "html,htm,shtml,shtm"},
@@ -512,6 +516,7 @@ static const char* const kStandardVideoT
"video/sd-video",
"video/webm",
"video/x-dv",
+ "video/x-flv",
"video/x-m4v",
"video/x-matroska",
"video/x-mpeg",

View file

@ -1,464 +0,0 @@
diff -up chromium-62.0.3192.0/media/base/audio_codecs.cc.extra-media chromium-62.0.3192.0/media/base/audio_codecs.cc
--- chromium-62.0.3192.0/media/base/audio_codecs.cc.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/base/audio_codecs.cc 2017-08-30 15:39:09.735186077 +0200
@@ -46,6 +46,10 @@ std::string GetCodecName(AudioCodec code
return "ac3";
case kCodecMpegHAudio:
return "mpeg-h-audio";
+ case kCodecMP2:
+ return "mp2";
+ case kCodecDTS:
+ return "dts";
}
}
@@ -81,6 +85,10 @@ AudioCodec StringToAudioCodec(const std:
return kCodecVorbis;
if (base::StartsWith(codec_id, "mp4a.40.", base::CompareCase::SENSITIVE))
return kCodecAAC;
+ if (codec_id == "mp2")
+ return kCodecMP2;
+ if (codec_id == "dts")
+ return kCodecDTS;
return kUnknownAudioCodec;
}
diff -up chromium-62.0.3192.0/media/base/audio_codecs.h.extra-media chromium-62.0.3192.0/media/base/audio_codecs.h
--- chromium-62.0.3192.0/media/base/audio_codecs.h.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/base/audio_codecs.h 2017-08-30 15:39:09.735186077 +0200
@@ -33,13 +33,15 @@ enum AudioCodec {
kCodecALAC = 15,
kCodecAC3 = 16,
kCodecMpegHAudio = 17,
+ kCodecMP2 = 18,
+ kCodecDTS = 19,
// DO NOT ADD RANDOM AUDIO CODECS!
//
// The only acceptable time to add a new codec is if there is production code
// that uses said codec in the same CL.
// Must always be equal to the largest entry ever logged.
- kAudioCodecMax = kCodecMpegHAudio,
+ kAudioCodecMax = kCodecDTS,
};
enum class AudioCodecProfile {
diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media chromium-62.0.3192.0/media/base/mime_util_internal.cc
--- chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/base/mime_util_internal.cc 2017-08-30 15:44:46.519076991 +0200
@@ -88,6 +88,10 @@ const StringToCodecMap& GetStringToCodec
{"vp8", MimeUtil::VP8},
{"vp8.0", MimeUtil::VP8},
{"theora", MimeUtil::THEORA},
+ {"dts", MimeUtil::DTS},
+ {"mp2", MimeUtil::MP2},
+ {"mp4v.20.8", MimeUtil::MPEG4_SP},
+ {"mp4v.20.240", MimeUtil::MPEG4_ASP},
});
return *kStringToCodecMap;
@@ -183,6 +187,10 @@ AudioCodec MimeUtilToAudioCodec(MimeUtil
return kCodecOpus;
case MimeUtil::FLAC:
return kCodecFLAC;
+ case MimeUtil::DTS:
+ return kCodecDTS;
+ case MimeUtil::MP2:
+ return kCodecMP2;
default:
break;
}
@@ -205,6 +213,9 @@ VideoCodec MimeUtilToVideoCodec(MimeUtil
return kCodecTheora;
case MimeUtil::DOLBY_VISION:
return kCodecDolbyVision;
+ case MimeUtil::MPEG4_SP:
+ case MimeUtil::MPEG4_ASP:
+ return kCodecMPEG4;
default:
break;
}
@@ -295,6 +306,35 @@ void MimeUtil::AddSupportedMediaFormats(
CodecSet ogg_codecs(ogg_audio_codecs);
ogg_codecs.insert(ogg_video_codecs.begin(), ogg_video_codecs.end());
+ CodecSet matroska_audio_codecs;
+ matroska_audio_codecs.emplace(OPUS);
+ matroska_audio_codecs.emplace(VORBIS);
+ matroska_audio_codecs.emplace(AC3);
+ matroska_audio_codecs.emplace(EAC3);
+ matroska_audio_codecs.emplace(DTS);
+ matroska_audio_codecs.emplace(MP3);
+ matroska_audio_codecs.emplace(MP2);
+ matroska_audio_codecs.emplace(MPEG2_AAC);
+ matroska_audio_codecs.emplace(MPEG4_AAC);
+ matroska_audio_codecs.emplace(PCM);
+ matroska_audio_codecs.emplace(FLAC);
+
+ CodecSet matroska_video_codecs;
+ matroska_video_codecs.emplace(THEORA);
+ matroska_video_codecs.emplace(VP8);
+ matroska_video_codecs.emplace(VP9);
+ matroska_video_codecs.emplace(H264);
+ matroska_video_codecs.emplace(MPEG4_SP);
+ matroska_video_codecs.emplace(MPEG4_ASP);
+#if BUILDFLAG(ENABLE_AV1_DECODER)
+ matroska_video_codecs.emplace(AV1);
+#endif
+#if BUILDFLAG(ENABLE_PLATFORM_HEVC)
+ matroska_video_codecs.emplace(HEVC);
+#endif // BUILDFLAG(ENABLE_PLATFORM_HEVC)
+ CodecSet matroska_codecs(matroska_audio_codecs);
+ matroska_codecs.insert(matroska_video_codecs.begin(), matroska_video_codecs.end());
+
const CodecSet webm_audio_codecs{OPUS, VORBIS};
CodecSet webm_video_codecs{VP8, VP9};
#if BUILDFLAG(ENABLE_AV1_DECODER)
@@ -304,9 +344,9 @@ void MimeUtil::AddSupportedMediaFormats(
CodecSet webm_codecs(webm_audio_codecs);
webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end());
- const CodecSet mp3_codecs{MP3};
+ const CodecSet mp3_codecs{MP3, MP2};
- CodecSet mp4_audio_codecs{FLAC, MP3, OPUS};
+ CodecSet mp4_audio_codecs{FLAC, MP3, OPUS, MP2, DTS, AC3, EAC3};
// Only VP9 with valid codec string vp09.xx.xx.xx.xx.xx.xx.xx is supported.
// See ParseVp9CodecID for details.
@@ -330,6 +370,8 @@ void MimeUtil::AddSupportedMediaFormats(
#endif // BUILDFLAG(ENABLE_PLATFORM_MPEG_H_AUDIO)
mp4_video_codecs.emplace(H264);
+ mp4_video_codecs.emplace(MPEG4_SP);
+ mp4_video_codecs.emplace(MPEG4_ASP);
#if BUILDFLAG(ENABLE_PLATFORM_HEVC)
mp4_video_codecs.emplace(HEVC);
#endif // BUILDFLAG(ENABLE_PLATFORM_HEVC)
@@ -366,6 +408,10 @@ void MimeUtil::AddSupportedMediaFormats(
DCHECK(!mp4_video_codecs.empty());
AddContainerWithCodecs("video/mp4", mp4_codecs);
+ AddContainerWithCodecs("audio/x-matroska", matroska_audio_codecs);
+ AddContainerWithCodecs("video/x-matroska", matroska_codecs);
+ AddContainerWithCodecs("video/x-msvideo", matroska_codecs);
+
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/aac", implicit_codec); // AAC / ADTS.
// These strings are supported for backwards compatibility only and thus only
diff -up chromium-62.0.3192.0/media/base/mime_util_internal.h.extra-media chromium-62.0.3192.0/media/base/mime_util_internal.h
--- chromium-62.0.3192.0/media/base/mime_util_internal.h.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/base/mime_util_internal.h 2017-08-30 15:39:09.734186095 +0200
@@ -46,7 +46,11 @@ class MEDIA_EXPORT MimeUtil {
DOLBY_VISION,
AV1,
MPEG_H_AUDIO,
- LAST_CODEC = MPEG_H_AUDIO
+ DTS,
+ MP2,
+ MPEG4_SP,
+ MPEG4_ASP,
+ LAST_CODEC = MPEG4_ASP
};
// Platform configuration structure. Controls which codecs are supported at
diff -up chromium-62.0.3192.0/media/ffmpeg/ffmpeg_common.cc.extra-media chromium-62.0.3192.0/media/ffmpeg/ffmpeg_common.cc
--- chromium-62.0.3192.0/media/ffmpeg/ffmpeg_common.cc.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/ffmpeg/ffmpeg_common.cc 2017-08-30 15:39:09.735186077 +0200
@@ -124,6 +124,10 @@ AudioCodec CodecIDToAudioCodec(AVCodecID
case AV_CODEC_ID_MPEGH_3D_AUDIO:
return kCodecMpegHAudio;
#endif
+ case AV_CODEC_ID_MP2:
+ return kCodecMP2;
+ case AV_CODEC_ID_DTS:
+ return kCodecDTS;
default:
DVLOG(1) << "Unknown audio CodecID: " << codec_id;
}
@@ -179,6 +183,14 @@ AVCodecID AudioCodecToCodecID(AudioCodec
case kCodecMpegHAudio:
return AV_CODEC_ID_MPEGH_3D_AUDIO;
#endif
+ case kCodecAC3:
+ return AV_CODEC_ID_AC3;
+ case kCodecEAC3:
+ return AV_CODEC_ID_EAC3;
+ case kCodecMP2:
+ return AV_CODEC_ID_MP2;
+ case kCodecDTS:
+ return AV_CODEC_ID_DTS;
default:
DVLOG(1) << "Unknown AudioCodec: " << audio_codec;
}
@@ -347,30 +359,6 @@ bool AVCodecContextToAudioDecoderConfig(
codec_context->channels);
int sample_rate = codec_context->sample_rate;
- switch (codec) {
- // For AC3/EAC3 we enable only demuxing, but not decoding, so FFmpeg does
- // not fill |sample_fmt|.
- case kCodecAC3:
- case kCodecEAC3:
-#if BUILDFLAG(ENABLE_PLATFORM_AC3_EAC3_AUDIO)
- // The spec for AC3/EAC3 audio is ETSI TS 102 366. According to sections
- // F.3.1 and F.5.1 in that spec the sample_format for AC3/EAC3 must be 16.
- sample_format = kSampleFormatS16;
-#else
- NOTREACHED();
-#endif
- break;
-#if BUILDFLAG(ENABLE_PLATFORM_MPEG_H_AUDIO)
- case kCodecMpegHAudio:
- channel_layout = CHANNEL_LAYOUT_BITSTREAM;
- sample_format = kSampleFormatMpegHAudio;
- break;
-#endif
-
- default:
- break;
- }
-
base::TimeDelta seek_preroll;
if (codec_context->seek_preroll > 0) {
seek_preroll = base::TimeDelta::FromMicroseconds(
@@ -399,17 +387,6 @@ bool AVCodecContextToAudioDecoderConfig(
if (channel_layout == CHANNEL_LAYOUT_DISCRETE)
config->SetChannelsForDiscrete(codec_context->channels);
-#if BUILDFLAG(ENABLE_PLATFORM_AC3_EAC3_AUDIO)
- // These are bitstream formats unknown to ffmpeg, so they don't have
- // a known sample format size.
- if (codec == kCodecAC3 || codec == kCodecEAC3)
- return true;
-#endif
-#if BUILDFLAG(ENABLE_PLATFORM_MPEG_H_AUDIO)
- if (codec == kCodecMpegHAudio)
- return true;
-#endif
-
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
// TODO(dalecurtis): Just use the profile from the codec context if ffmpeg
// ever starts supporting xHE-AAC.
diff -up chromium-62.0.3192.0/media/filters/ffmpeg_video_decoder.cc.extra-media chromium-62.0.3192.0/media/filters/ffmpeg_video_decoder.cc
--- chromium-62.0.3192.0/media/filters/ffmpeg_video_decoder.cc.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/filters/ffmpeg_video_decoder.cc 2017-08-30 15:39:09.736186059 +0200
@@ -38,7 +38,6 @@
case kUnknownVideoCodec:
case kCodecVC1:
case kCodecMPEG2:
- case kCodecHEVC:
case kCodecVP9:
case kCodecAV1:
case kCodecDolbyVision:
@@ -52,6 +51,7 @@
case kCodecH264:
case kCodecVP8:
+ case kCodecHEVC:
// Normalize to three threads for 1080p content, then scale linearly
// with number of pixels.
// Examples:
diff -up chromium-62.0.3192.0/media/remoting/proto_enum_utils.cc.extra-media chromium-62.0.3192.0/media/remoting/proto_enum_utils.cc
--- chromium-62.0.3192.0/media/remoting/proto_enum_utils.cc.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/remoting/proto_enum_utils.cc 2017-08-30 15:39:09.736186059 +0200
@@ -34,6 +34,8 @@ base::Optional<AudioCodec> ToMediaAudioC
CASE_RETURN_OTHER(kCodecALAC);
CASE_RETURN_OTHER(kCodecAC3);
CASE_RETURN_OTHER(kCodecMpegHAudio);
+ CASE_RETURN_OTHER(kCodecMP2);
+ CASE_RETURN_OTHER(kCodecDTS);
}
return base::nullopt; // Not a 'default' to ensure compile-time checks.
}
@@ -61,6 +63,8 @@ base::Optional<pb::AudioDecoderConfig::C
CASE_RETURN_OTHER(kCodecALAC);
CASE_RETURN_OTHER(kCodecAC3);
CASE_RETURN_OTHER(kCodecMpegHAudio);
+ CASE_RETURN_OTHER(kCodecMP2);
+ CASE_RETURN_OTHER(kCodecDTS);
}
return base::nullopt; // Not a 'default' to ensure compile-time checks.
}
diff -up chromium-62.0.3192.0/media/remoting/media_remoting_rpc.proto.extra-media chromium-62.0.3192.0/media/remoting/media_remoting_rpc.proto
--- chromium-62.0.3192.0/media/remoting/media_remoting_rpc.proto.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/remoting/media_remoting_rpc.proto 2017-08-30 15:39:09.736186059 +0200
@@ -67,6 +67,8 @@ message AudioDecoderConfig {
kCodecALAC = 15;
kCodecAC3 = 16;
kCodecMpegHAudio = 17;
+ kCodecMP2 = 18;
+ kCodecDTS = 19;
}
// Proto version of media::SampleFormat.
diff -up chromium-62.0.3192.0/net/base/mime_util.cc.extra-media chromium-62.0.3192.0/net/base/mime_util.cc
--- chromium-62.0.3192.0/net/base/mime_util.cc.extra-media 2017-08-22 21:04:46.000000000 +0200
+++ chromium-62.0.3192.0/net/base/mime_util.cc 2017-08-30 15:47:23.952221630 +0200
@@ -94,6 +94,9 @@
{"image/png", "png"},
{"image/apng", "png"},
{"image/webp", "webp"},
+ {"video/x-matroska", "mkv"},
+ {"audio/x-matroska", "mkv"},
+ {"video/x-msvideo", "avi"},
{"multipart/related", "mht,mhtml"},
{"text/css", "css"},
{"text/html", "html,htm,shtml,shtm"},
@@ -495,6 +498,7 @@
"audio/vorbis",
"audio/wav",
"audio/webm",
+ "audio/x-matroska",
"audio/x-m4a",
"audio/x-ms-wma",
"audio/vnd.rn-realaudio",
@@ -512,8 +516,10 @@
"video/webm",
"video/x-dv",
"video/x-m4v",
+ "video/x-matroska",
"video/x-mpeg",
"video/x-ms-asf",
+ "video/x-msvideo",
"video/x-ms-wmv"
};
--- chromium-73.0.3683.75/media/base/supported_types.cc.extra-media 2019-03-11 23:00:59.000000000 +0100
+++ chromium-73.0.3683.75/media/base/supported_types.cc 2019-03-17 18:40:07.610556592 +0100
@@ -52,7 +52,6 @@ bool IsSupportedHdrMetadata(const gfx::H
return false;
}
-#if BUILDFLAG(ENABLE_PLATFORM_HEVC) && BUILDFLAG(USE_CHROMEOS_PROTECTED_MEDIA)
bool IsHevcProfileSupported(VideoCodecProfile profile) {
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableClearHevcForTesting)) {
@@ -69,7 +68,6 @@ bool IsHevcProfileSupported(VideoCodecPr
}
return false;
}
-#endif // ENABLE_PLATFORM_HEVC && USE_CHROMEOS_PROTECTED_MEDIA
} // namespace
@@ -205,14 +203,18 @@ bool IsAudioCodecProprietary(AudioCodec
case kCodecAAC:
case kCodecAC3:
case kCodecEAC3:
+ case kCodecDTS:
case kCodecAMR_NB:
case kCodecAMR_WB:
case kCodecGSM_MS:
case kCodecALAC:
case kCodecMpegHAudio:
+ case kCodecWMA1:
+ case kCodecWMA2:
return true;
case kCodecFLAC:
+ case kCodecMP2:
case kCodecMP3:
case kCodecOpus:
case kCodecVorbis:
@@ -250,6 +252,7 @@ bool IsDefaultSupportedAudioType(const A
#endif
case kCodecFLAC:
+ case kCodecMP2:
case kCodecMP3:
case kCodecOpus:
case kCodecPCM:
@@ -258,6 +261,12 @@ bool IsDefaultSupportedAudioType(const A
case kCodecPCM_S24BE:
case kCodecPCM_ALAW:
case kCodecVorbis:
+ case kCodecEAC3:
+ case kCodecALAC:
+ case kCodecAC3:
+ case kCodecDTS:
+ case kCodecWMA1:
+ case kCodecWMA2:
return true;
case kCodecAMR_NB:
@@ -269,9 +278,6 @@ bool IsDefaultSupportedAudioType(const A
return false;
#endif
- case kCodecEAC3:
- case kCodecALAC:
- case kCodecAC3:
case kCodecMpegHAudio:
case kUnknownAudioCodec:
return false;
@@ -289,6 +295,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:
@@ -336,27 +351,26 @@ bool IsDefaultSupportedVideoType(const V
case kCodecH264:
case kCodecVP8:
case kCodecTheora:
+ case kCodecVC1:
+ case kCodecMPEG2:
+ case kCodecMPEG4:
+ case kCodecMSMPEG4V1:
+ case kCodecMSMPEG4V2:
+ case kCodecMSMPEG4V3:
+ case kCodecWMV7:
+ case kCodecWMV8:
+ case kCodecWMV9:
+ case kCodecVP6:
+ case kCodecMPEG1:
+ case kCodecSorensonSpark:
return true;
case kCodecHEVC:
-#if BUILDFLAG(ENABLE_PLATFORM_HEVC) && BUILDFLAG(USE_CHROMEOS_PROTECTED_MEDIA)
return IsColorSpaceSupported(type.color_space) &&
IsHevcProfileSupported(type.profile);
-#else
- return false;
-#endif
case kUnknownVideoCodec:
- case kCodecVC1:
- case kCodecMPEG2:
case kCodecDolbyVision:
return false;
-
- case kCodecMPEG4:
-#if BUILDFLAG(IS_CHROMEOS_ASH)
- return true;
-#else
- return false;
-#endif
}
NOTREACHED();
--- chromium-89.0.4389.47/chrome/renderer/media/chrome_key_systems.cc.extra-media 2021-02-11 00:03:54.000000000 +0100
+++ chromium-89.0.4389.47/chrome/renderer/media/chrome_key_systems.cc 2021-02-17 00:23:43.715337084 +0100
@@ -182,11 +182,8 @@ static SupportedCodecs GetSupportedCodec
#endif // BUILDFLAG(USE_PROPRIETARY_CODECS)
#if BUILDFLAG(ENABLE_PLATFORM_HEVC)
case media::VideoCodec::kCodecHEVC:
- if (is_secure && base::FeatureList::IsEnabled(
- chromeos::features::kCdmFactoryDaemon)) {
supported_codecs |= media::EME_CODEC_HEVC_PROFILE_MAIN;
supported_codecs |= media::EME_CODEC_HEVC_PROFILE_MAIN10;
- }
break;
#endif // BUILDFLAG(ENABLE_PLATFORM_HEVC)
default:

View file

@ -104,12 +104,6 @@ Source1102: https://github.com/deemru/msspi/archive/%{msspi_ver}.tar.gz?/msspi-%
Patch1: chromium-79.0.3945.88-deleted-chromium-gost-info.patch
Patch4: chromium-30.0.1599.66-master-prefs-path.patch
# (cjw) Recognize mimetypes for matroska (.mkv) and AVI (.avi) formats (video/x-matroska and audio/x-matroska, video/x-msvideo) + handle A52 "AC3" and DTS compressed audio.
Patch6: chromium-55-extra-media.patch
# (cjw) [1/2] Recognize mimetypes for WMV (.wmv), FLV (.flv) and MPEG (.mpg) videos
Patch7: chromium-40-wmvflvmpg.patch
# (cjw) [2/2] Handle more video codecs.
Patch8: chromium-40-sorenson-spark.patch
Patch22: chromium-54-proprietary-codecs-assert.patch
%if 0%{jsoncpp}
@ -350,9 +344,6 @@ cp -f %{_gostsourcedir}/src/msspi/third_party/cprocsp/include/* third_party/bori
%endif
%patch4 -p1 -b .prefs
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch22 -p1
%if 0%{jsoncpp}
%patch28 -p1