mirror of
https://abf.rosa.ru/djam/chromium-browser-stable-test.git
synced 2025-02-24 01:52:45 +00:00
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:
parent
2d2c618019
commit
f47f95e40d
4 changed files with 0 additions and 944 deletions
|
@ -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:
|
|
|
@ -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",
|
|
|
@ -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:
|
|
|
@ -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
|
Patch1: chromium-79.0.3945.88-deleted-chromium-gost-info.patch
|
||||||
|
|
||||||
Patch4: chromium-30.0.1599.66-master-prefs-path.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
|
Patch22: chromium-54-proprietary-codecs-assert.patch
|
||||||
%if 0%{jsoncpp}
|
%if 0%{jsoncpp}
|
||||||
|
@ -350,9 +344,6 @@ cp -f %{_gostsourcedir}/src/msspi/third_party/cprocsp/include/* third_party/bori
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%patch4 -p1 -b .prefs
|
%patch4 -p1 -b .prefs
|
||||||
%patch6 -p1
|
|
||||||
%patch7 -p1
|
|
||||||
%patch8 -p1
|
|
||||||
%patch22 -p1
|
%patch22 -p1
|
||||||
%if 0%{jsoncpp}
|
%if 0%{jsoncpp}
|
||||||
%patch28 -p1
|
%patch28 -p1
|
||||||
|
|
Loading…
Add table
Reference in a new issue