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

214 lines
7.4 KiB
Diff
Raw Normal View History

2017-01-31 10:51:58 +03:00
--- chromium-56.0.2924.76/media/base/mime_util_internal.cc.orig 2017-01-26 03:49:15.000000000 +0300
+++ chromium-56.0.2924.76/media/base/mime_util_internal.cc 2017-01-30 22:39:02.827838684 +0300
@@ -78,7 +78,11 @@ static const CodecIDMappings kUnambiguou
2016-12-06 19:54:52 +03:00
{"opus", MimeUtil::OPUS},
{"vp8", MimeUtil::VP8},
{"vp8.0", MimeUtil::VP8},
- {"theora", MimeUtil::THEORA}};
+ {"theora", MimeUtil::THEORA},
+ {"dts", MimeUtil::DTS},
+ {"mp2", MimeUtil::MP2},
+ {"mp4v.20.8", MimeUtil::MPEG4_SP},
+ {"mp4v.20.240", MimeUtil::MPEG4_ASP}};
2017-01-31 10:51:58 +03:00
2016-12-06 19:54:52 +03:00
// List of codec IDs that are ambiguous and don't provide
// enough information to determine the codec and profile.
2017-01-31 10:51:58 +03:00
@@ -275,6 +279,9 @@ VideoCodec MimeUtilToVideoCodec(MimeUtil
2016-12-06 19:54:52 +03:00
return kCodecVP9;
case MimeUtil::THEORA:
return kCodecTheora;
+ case MimeUtil::MPEG4_SP:
+ case MimeUtil::MPEG4_ASP:
+ return kCodecMPEG4;
default:
break;
}
2017-01-31 10:51:58 +03:00
@@ -357,6 +364,31 @@ void MimeUtil::AddSupportedMediaFormats(
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-01-31 10:51:58 +03:00
2016-12-06 19:54:52 +03:00
+ CodecSet matroska_audio_codecs;
+ matroska_audio_codecs.insert(OPUS);
+ matroska_audio_codecs.insert(VORBIS);
+ matroska_audio_codecs.insert(AC3);
+ matroska_audio_codecs.insert(EAC3);
+ matroska_audio_codecs.insert(DTS);
+ matroska_audio_codecs.insert(MP3);
+ matroska_audio_codecs.insert(MP2);
+ matroska_audio_codecs.insert(MPEG2_AAC);
+ matroska_audio_codecs.insert(MPEG4_AAC);
+ matroska_audio_codecs.insert(PCM);
2017-01-31 10:51:58 +03:00
+
2016-12-06 19:54:52 +03:00
+ CodecSet matroska_video_codecs;
+ matroska_video_codecs.insert(THEORA);
+ matroska_video_codecs.insert(VP8);
+ matroska_video_codecs.insert(VP9);
+ matroska_video_codecs.insert(H264);
+ matroska_video_codecs.insert(MPEG4_SP);
+ matroska_video_codecs.insert(MPEG4_ASP);
+#if BUILDFLAG(ENABLE_HEVC_DEMUXING)
+ matroska_video_codecs.insert(HEVC);
+#endif // BUILDFLAG(ENABLE_HEVC_DEMUXING)
+ CodecSet matroska_codecs(matroska_audio_codecs);
+ matroska_codecs.insert(matroska_video_codecs.begin(), matroska_video_codecs.end());
2017-01-31 10:51:58 +03:00
+
2016-12-06 19:54:52 +03:00
CodecSet webm_audio_codecs;
webm_audio_codecs.insert(OPUS);
2017-01-31 10:51:58 +03:00
webm_audio_codecs.insert(VORBIS);
@@ -386,6 +418,8 @@ void MimeUtil::AddSupportedMediaFormats(
2016-12-06 19:54:52 +03:00
CodecSet mp4_video_codecs;
mp4_video_codecs.insert(H264);
+ mp4_video_codecs.insert(MPEG4_SP);
+ mp4_video_codecs.insert(MPEG4_ASP);
#if BUILDFLAG(ENABLE_HEVC_DEMUXING)
mp4_video_codecs.insert(HEVC);
#endif // BUILDFLAG(ENABLE_HEVC_DEMUXING)
2017-01-31 10:51:58 +03:00
@@ -410,6 +444,9 @@ void MimeUtil::AddSupportedMediaFormats(
2016-12-06 19:54:52 +03:00
AddContainerWithCodecs("application/ogg", ogg_codecs, false);
2017-01-31 10:51:58 +03:00
AddContainerWithCodecs("audio/flac", implicit_codec, false);
2016-12-06 19:54:52 +03:00
+ AddContainerWithCodecs("audio/x-matroska", matroska_audio_codecs, false);
+ AddContainerWithCodecs("video/x-matroska", matroska_codecs, false);
+
#if defined(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3".
AddContainerWithCodecs("audio/mp3", implicit_codec, true);
2017-01-31 10:51:58 +03:00
@@ -422,6 +459,7 @@ void MimeUtil::AddSupportedMediaFormats(
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-01-31 10:51:58 +03:00
2016-12-06 19:54:52 +03:00
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
// TODO(ddorwin): Exactly which codecs should be supported?
2017-01-31 10:51:58 +03:00
@@ -766,9 +804,13 @@ bool MimeUtil::IsCodecProprietary(Codec
2016-12-06 19:54:52 +03:00
case MPEG4_AAC:
case H264:
case HEVC:
+ case DTS:
+ case MPEG4_SP:
+ case MPEG4_ASP:
return true;
2017-01-31 10:51:58 +03:00
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:
2016-12-06 19:54:52 +03:00
--- chromium-52.0.2716.0/media/base/mime_util_internal.h.matroska-avi 2016-04-27 00:02:52.000000000 +0200
+++ chromium-52.0.2716.0/media/base/mime_util_internal.h 2016-04-27 08:14:04.560330601 +0200
@@ -39,7 +39,11 @@ class MEDIA_EXPORT MimeUtil {
VP8,
VP9,
THEORA,
- LAST_CODEC = THEORA
+ DTS,
+ MP2,
+ MPEG4_SP,
+ MPEG4_ASP,
+ LAST_CODEC = MPEG4_ASP
};
// Platform configuration structure. Controls which codecs are supported at
--- chromium-52.0.2716.0/net/base/mime_util.cc.matroska-avi 2016-04-27 00:02:52.000000000 +0200
+++ chromium-52.0.2716.0/net/base/mime_util.cc 2016-04-27 08:14:04.561330581 +0200
@@ -78,6 +78,9 @@ static const MimeInfo kPrimaryMappings[]
{"audio/webm", "webm"},
{"audio/wav", "wav"},
{"audio/flac", "flac"},
+ {"video/x-matroska", "mkv"},
+ {"audio/x-matroska", "mkv"},
+ {"video/x-msvideo", "avi"},
{"application/xhtml+xml", "xhtml,xht,xhtm"},
{"application/x-chrome-extension", "crx"},
{"multipart/related", "mhtml,mht"}};
@@ -425,6 +428,7 @@ static const char* const kStandardAudioT
"audio/vorbis",
"audio/wav",
"audio/webm",
+ "audio/x-matroska",
"audio/x-m4a",
"audio/x-ms-wma",
"audio/vnd.rn-realaudio",
@@ -442,8 +446,10 @@ static const char* const kStandardVideoT
"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-51.0.2687.0/media/base/audio_codecs.cc.ac3-dts 2016-03-22 23:01:01.000000000 +0100
+++ chromium-51.0.2687.0/media/base/audio_codecs.cc 2016-03-23 18:19:14.903959089 +0100
@@ -43,6 +43,8 @@ std::string GetCodecName(AudioCodec code
return "alac";
case kCodecAC3:
return "ac3";
+ case kCodecDTS:
+ return "dts";
}
NOTREACHED();
return "";
--- chromium-51.0.2687.0/media/base/audio_codecs.h.ac3-dts 2016-03-22 23:01:01.000000000 +0100
+++ chromium-51.0.2687.0/media/base/audio_codecs.h 2016-03-23 18:18:33.765701074 +0100
@@ -32,13 +32,14 @@ enum AudioCodec {
kCodecPCM_ALAW = 14,
kCodecALAC = 15,
kCodecAC3 = 16,
+ kCodecDTS = 17,
// 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 = kCodecAC3,
+ kAudioCodecMax = kCodecDTS,
};
std::string MEDIA_EXPORT GetCodecName(AudioCodec codec);
--- chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc.ac3-dts 2016-03-22 23:01:01.000000000 +0100
+++ chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc 2016-03-23 18:13:42.226118362 +0100
@@ -117,6 +117,8 @@ static AudioCodec CodecIDToAudioCodec(AV
return kCodecOpus;
case AV_CODEC_ID_ALAC:
return kCodecALAC;
+ case AV_CODEC_ID_DTS:
+ return kCodecDTS;
default:
DVLOG(1) << "Unknown audio CodecID: " << codec_id;
}
@@ -168,6 +170,10 @@ AVCodecID AudioCodecToCodecID(AudioCodec
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;
}
--- chromium-55.0.2883.52/content/renderer/media/render_media_client.cc.bak 2016-11-17 00:02:26.000000000 +0100
+++ chromium-55.0.2883.52/content/renderer/media/render_media_client.cc 2016-11-27 21:55:59.360854652 +0100
@@ -101,13 +101,13 @@
case media::kCodecVP8:
case media::kCodecVP9:
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:
return false;
}