chromium-browser-stable-test/chromium-40-sorenson-spark.patch
Mikhail Novosyolov 6aceefa0d9 upd: 88.0.4324.182 -> 89.0.4389.82
- first build of v89
- replaced custom BUILD.gn with a patch of source code; we may just miss that custom BUILD.gn has stopped working, but we will explicitly detect the moment when applying patch fails (custom BUILD.gn may be restored later if it makes sense to reduce maintenance burden)
- dropped build-with-pipewire-0.3.patch, upstream now supports both pipewire 0.2 and 0.3
- took updated chromium-40-sorenson-spark.patch and chromium-55-extra-media.patch from Mageia (I want to remove these patches actually)
- dropped some patches with not needed compiler-related changes
- spec clean up:
  + removed not used for a long time support of building with GCC (Chromium upstream has tight integration with clang, I don't think that we will ever need buildability with GCC, for now it may be broken and just makes the spec more complex)
  + removed switches of libpng and vaapi without changing their values to redcue complexity of the spec
- removed not used VA-API patch, replaced with VA-API enhacements from ppa:saiarcot895/chromium-beta, including support of VA-API VDPAU backend on Nvidia proprietary drivers
2021-03-07 20:40:51 +03:00

381 lines
12 KiB
Diff

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: