chromium-browser-stable-test/chromium-55-extra-media.patch

298 lines
11 KiB
Diff
Raw Normal View History

2017-11-02 05:09:14 +03:00
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
2018-08-13 15:03:08 +03:00
@@ -46,6 +46,8 @@ std::string GetCodecName(AudioCodec code
2017-11-02 05:09:14 +03:00
return "ac3";
2018-08-13 15:03:08 +03:00
case kCodecMpegHAudio:
return "mpeg-h-audio";
2017-11-02 05:09:14 +03:00
+ case kCodecDTS:
+ return "dts";
}
NOTREACHED();
return "";
2018-08-13 15:03:08 +03:00
@@ -72,6 +74,8 @@ AudioCodec StringToAudioCodec(const std:
2017-11-02 05:09:14 +03:00
return kCodecVorbis;
if (base::StartsWith(codec_id, "mp4a.40.", base::CompareCase::SENSITIVE))
return kCodecAAC;
+ 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
2018-08-13 15:03:08 +03:00
@@ -33,13 +33,14 @@
2017-11-02 05:09:14 +03:00
kCodecALAC = 15,
kCodecAC3 = 16,
2018-08-13 15:03:08 +03:00
kCodecMpegHAudio = 17,
+ kCodecDTS = 18,
2017-11-02 05:09:14 +03:00
// 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.
2017-07-21 15:01:06 +03:00
2017-11-02 05:09:14 +03:00
// Must always be equal to the largest entry ever logged.
2018-08-13 15:03:08 +03:00
- kAudioCodecMax = kCodecMpegHAudio,
2017-11-02 05:09:14 +03:00
+ kAudioCodecMax = kCodecDTS,
};
std::string MEDIA_EXPORT GetCodecName(AudioCodec codec);
diff -up chromium-62.0.3192.0/media/base/decode_capabilities.cc.extra-media chromium-62.0.3192.0/media/base/decode_capabilities.cc
--- chromium-62.0.3192.0/media/base/decode_capabilities.cc.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/base/decode_capabilities.cc 2017-08-30 15:39:09.737186041 +0200
2018-08-13 15:03:08 +03:00
@@ -134,6 +134,9 @@ bool IsSupportedAudioConfig(const AudioC
2017-11-02 05:09:14 +03:00
case media::kCodecPCM_S24BE:
case media::kCodecPCM_ALAW:
case media::kCodecVorbis:
+ case media::kCodecEAC3:
+ case media::kCodecAC3:
+ case media::kCodecDTS:
return true;
case media::kCodecAMR_NB:
2018-08-13 15:03:08 +03:00
@@ -145,9 +148,7 @@ bool IsSupportedAudioConfig(const AudioC
2017-11-02 05:09:14 +03:00
return false;
#endif
- case media::kCodecEAC3:
case media::kCodecALAC:
- case media::kCodecAC3:
2018-08-13 15:03:08 +03:00
case media::kCodecMpegHAudio:
2017-11-02 05:09:14 +03:00
case media::kUnknownAudioCodec:
return false;
2018-08-13 15:03:08 +03:00
@@ -176,13 +177,13 @@ bool IsSupportedVideoConfig(const VideoC
2017-11-02 05:09:14 +03:00
case media::kCodecH264:
case media::kCodecVP8:
case media::kCodecTheora:
+ case media::kCodecMPEG4:
+ case media::kCodecHEVC:
return true;
case media::kUnknownVideoCodec:
case media::kCodecVC1:
case media::kCodecMPEG2:
- case media::kCodecMPEG4:
- case media::kCodecHEVC:
case media::kCodecDolbyVision:
return false;
}
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
2018-12-16 01:01:23 +03:00
@@ -80,6 +80,10 @@
{"vorbis", MimeUtil::VORBIS}, {"opus", MimeUtil::OPUS},
{"flac", MimeUtil::FLAC}, {"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},
},
base::KEEP_FIRST_OF_DUPES));
2018-09-22 00:11:52 +03:00
@@ -172,6 +176,9 @@
2016-12-06 19:54:52 +03:00
return kCodecTheora;
2017-07-21 15:01:06 +03:00
case MimeUtil::DOLBY_VISION:
return kCodecDolbyVision;
2016-12-06 19:54:52 +03:00
+ case MimeUtil::MPEG4_SP:
+ case MimeUtil::MPEG4_ASP:
+ return kCodecMPEG4;
default:
2017-07-21 15:01:06 +03:00
break;
}
2018-09-22 00:11:52 +03:00
@@ -266,6 +273,32 @@
2016-12-06 19:54:52 +03:00
CodecSet ogg_codecs(ogg_audio_codecs);
ogg_codecs.insert(ogg_video_codecs.begin(), ogg_video_codecs.end());
2017-11-02 05:09:14 +03:00
2016-12-06 19:54:52 +03:00
+ CodecSet matroska_audio_codecs;
2017-11-02 05:09:14 +03:00
+ 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);
+
2016-12-06 19:54:52 +03:00
+ CodecSet matroska_video_codecs;
2017-11-02 05:09:14 +03:00
+ 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);
2016-12-06 19:54:52 +03:00
+#if BUILDFLAG(ENABLE_HEVC_DEMUXING)
2017-11-02 05:09:14 +03:00
+ matroska_video_codecs.emplace(HEVC);
2016-12-06 19:54:52 +03:00
+#endif // BUILDFLAG(ENABLE_HEVC_DEMUXING)
+ CodecSet matroska_codecs(matroska_audio_codecs);
+ matroska_codecs.insert(matroska_video_codecs.begin(), matroska_video_codecs.end());
2017-11-02 05:09:14 +03:00
+
const CodecSet webm_audio_codecs{OPUS, VORBIS};
2018-02-22 01:25:01 +03:00
CodecSet webm_video_codecs{VP8, VP9};
#if BUILDFLAG(ENABLE_AV1_DECODER)
@@ -302,6 +335,8 @@
2018-08-13 15:03:08 +03:00
#endif // BUILDFLAG(ENABLE_MPEG_H_AUDIO_DEMUXING)
2017-07-21 15:01:06 +03:00
2017-11-02 05:09:14 +03:00
mp4_video_codecs.emplace(H264);
+ mp4_video_codecs.emplace(MPEG4_SP);
+ mp4_video_codecs.emplace(MPEG4_ASP);
2016-12-06 19:54:52 +03:00
#if BUILDFLAG(ENABLE_HEVC_DEMUXING)
2017-11-02 05:09:14 +03:00
mp4_video_codecs.emplace(HEVC);
2016-12-06 19:54:52 +03:00
#endif // BUILDFLAG(ENABLE_HEVC_DEMUXING)
@@ -339,12 +374,16 @@
2018-04-24 14:28:44 +03:00
DCHECK(!mp4_video_codecs.empty());
AddContainerWithCodecs("video/mp4", mp4_codecs, false);
2017-07-21 15:01:06 +03:00
2016-12-06 19:54:52 +03:00
+ AddContainerWithCodecs("audio/x-matroska", matroska_audio_codecs, false);
+ AddContainerWithCodecs("video/x-matroska", matroska_codecs, false);
+
2017-04-22 13:40:30 +03:00
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
2018-04-24 14:28:44 +03:00
AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS.
// These strings are supported for backwards compatibility only and thus only
2016-12-06 19:54:52 +03:00
// support the codecs needed for compatibility.
AddContainerWithCodecs("audio/x-m4a", aac, true);
AddContainerWithCodecs("video/x-m4v", avc_and_aac, true);
+ AddContainerWithCodecs("video/x-msvideo", matroska_codecs, true);
2017-07-21 15:01:06 +03:00
2016-12-06 19:54:52 +03:00
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
CodecSet mp2t_codecs{H264, MPEG2_AAC, MPEG4_AAC, MP3};
@@ -965,10 +1004,14 @@
2016-12-06 19:54:52 +03:00
case H264:
case HEVC:
2017-07-21 15:01:06 +03:00
case DOLBY_VISION:
2016-12-06 19:54:52 +03:00
+ case DTS:
+ case MPEG4_SP:
+ case MPEG4_ASP:
return true;
2017-07-21 15:01:06 +03:00
2018-04-24 14:28:44 +03:00
case MP3:
2016-12-06 19:54:52 +03:00
case PCM:
+ case MP2:
case VORBIS:
case OPUS:
2017-01-31 10:51:58 +03:00
case FLAC:
2017-11-02 05:09:14 +03:00
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
2018-08-13 15:03:08 +03:00
@@ -46,7 +46,11 @@ class MEDIA_EXPORT MimeUtil {
2017-04-22 13:40:30 +03:00
DOLBY_VISION,
2018-02-22 01:25:01 +03:00
AV1,
2018-08-13 15:03:08 +03:00
MPEG_H_AUDIO,
- LAST_CODEC = MPEG_H_AUDIO
2016-12-06 19:54:52 +03:00
+ DTS,
+ MP2,
+ MPEG4_SP,
+ MPEG4_ASP,
+ LAST_CODEC = MPEG4_ASP
};
2017-07-21 15:01:06 +03:00
2016-12-06 19:54:52 +03:00
// Platform configuration structure. Controls which codecs are supported at
2017-11-02 05:09:14 +03:00
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
@@ -115,6 +115,8 @@ AudioCodec CodecIDToAudioCodec(AVCodecID
2016-12-06 19:54:52 +03:00
return kCodecOpus;
case AV_CODEC_ID_ALAC:
return kCodecALAC;
+ case AV_CODEC_ID_DTS:
+ return kCodecDTS;
default:
DVLOG(1) << "Unknown audio CodecID: " << codec_id;
}
2017-11-02 05:09:14 +03:00
@@ -166,6 +168,10 @@ AVCodecID AudioCodecToCodecID(AudioCodec
2016-12-06 19:54:52 +03:00
return AV_CODEC_ID_PCM_MULAW;
case kCodecOpus:
return AV_CODEC_ID_OPUS;
+ case kCodecAC3:
+ return AV_CODEC_ID_AC3;
+ case kCodecDTS:
+ return AV_CODEC_ID_DTS;
default:
DVLOG(1) << "Unknown AudioCodec: " << audio_codec;
}
2017-11-02 05:09:14 +03:00
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
2018-02-22 01:25:01 +03:00
@@ -59,7 +59,6 @@
2017-11-02 05:09:14 +03:00
case kUnknownVideoCodec:
case kCodecVC1:
case kCodecMPEG2:
- case kCodecHEVC:
case kCodecVP9:
2018-02-22 01:25:01 +03:00
case kCodecAV1:
2017-11-02 05:09:14 +03:00
case kCodecDolbyVision:
2018-02-22 01:25:01 +03:00
@@ -73,6 +72,7 @@
2017-11-02 05:09:14 +03:00
case kCodecH264:
case kCodecMPEG4:
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
2018-08-13 15:03:08 +03:00
@@ -58,6 +58,7 @@ base::Optional<AudioCodec> ToMediaAudioC
2017-07-21 15:01:06 +03:00
CASE_RETURN_OTHER(kCodecALAC);
CASE_RETURN_OTHER(kCodecAC3);
2018-08-13 15:03:08 +03:00
CASE_RETURN_OTHER(kCodecMpegHAudio);
2017-07-21 15:01:06 +03:00
+ CASE_RETURN_OTHER(kCodecDTS);
}
return base::nullopt; // Not a 'default' to ensure compile-time checks.
}
2018-08-13 15:03:08 +03:00
@@ -85,6 +86,7 @@ base::Optional<pb::AudioDecoderConfig::C
2017-07-21 15:01:06 +03:00
CASE_RETURN_OTHER(kCodecALAC);
CASE_RETURN_OTHER(kCodecAC3);
2018-08-13 15:03:08 +03:00
CASE_RETURN_OTHER(kCodecMpegHAudio);
2017-07-21 15:01:06 +03:00
+ 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
2018-08-13 15:03:08 +03:00
@@ -67,6 +67,7 @@ message AudioDecoderConfig {
2017-07-21 15:01:06 +03:00
kCodecALAC = 15;
kCodecAC3 = 16;
2018-08-13 15:03:08 +03:00
kCodecMpegHAudio = 17;
+ kCodecDTS = 18;
2017-07-21 15:01:06 +03:00
}
// Proto version of media::SampleFormat.
2017-11-02 05:09:14 +03:00
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
2018-08-13 15:03:08 +03:00
@@ -94,6 +94,9 @@
2017-11-02 05:09:14 +03:00
{"image/png", "png"},
2018-08-13 15:03:08 +03:00
{"image/apng", "png"},
2017-11-02 05:09:14 +03:00
{"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"},
2018-08-13 15:03:08 +03:00
@@ -495,6 +498,7 @@
2017-11-02 05:09:14 +03:00
"audio/vorbis",
"audio/wav",
"audio/webm",
+ "audio/x-matroska",
"audio/x-m4a",
"audio/x-ms-wma",
"audio/vnd.rn-realaudio",
2018-08-13 15:03:08 +03:00
@@ -512,8 +516,10 @@
2017-11-02 05:09:14 +03:00
"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"
};
2017-07-21 15:01:06 +03:00