X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=system-ffmpeg.patch;h=8d67ef3898dfe4e5225218be393559bc41436bfa;hb=22720e8bf5f721e795bd47e58fddd5d7b2b24b93;hp=f3c2b96d1bb134422b4f46508b8c59e1b3c51e5f;hpb=7158118464f1e16fefd3ae189ef62443cba5c9aa;p=packages%2Fchromium-browser.git diff --git a/system-ffmpeg.patch b/system-ffmpeg.patch index f3c2b96..8d67ef3 100644 --- a/system-ffmpeg.patch +++ b/system-ffmpeg.patch @@ -1,115 +1,50 @@ ---- a/media/filters/ffmpeg_glue.h -+++ b/media/filters/ffmpeg_glue.h -@@ -28,9 +28,9 @@ - #include "base/basictypes.h" - #include "base/memory/scoped_ptr.h" - #include "media/base/media_export.h" -+#include "media/ffmpeg/ffmpeg_common.h" - - struct AVFormatContext; --struct AVIOContext; - - namespace media { - ---- a/media/ffmpeg/ffmpeg_common.cc.orig 2013-01-17 00:07:51.635057013 +0000 -+++ b/media/ffmpeg/ffmpeg_common.cc 2013-01-17 00:15:50.867406811 +0000 -@@ -85,8 +85,10 @@ - return kCodecGSM_MS; - case AV_CODEC_ID_PCM_MULAW: - return kCodecPCM_MULAW; -+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_OPUS - case AV_CODEC_ID_OPUS: - return kCodecOpus; -+#endif - default: - DVLOG(1) << "Unknown audio CodecID: " << codec_id; - } -@@ -130,8 +132,10 @@ - return AV_CODEC_ID_GSM_MS; - case kCodecPCM_MULAW: - return AV_CODEC_ID_PCM_MULAW; -+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_OPUS - case kCodecOpus: - return AV_CODEC_ID_OPUS; -+#endif - default: - DVLOG(1) << "Unknown AudioCodec: " << audio_codec; - } -@@ -149,8 +153,10 @@ - return kCodecMPEG4; - case AV_CODEC_ID_VP8: - return kCodecVP8; -+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_VP9 - case AV_CODEC_ID_VP9: - return kCodecVP9; -+#endif - default: - DVLOG(1) << "Unknown video CodecID: " << codec_id; - } -@@ -167,8 +173,10 @@ - return AV_CODEC_ID_MPEG4; - case kCodecVP8: - return AV_CODEC_ID_VP8; -+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_VP9 - case kCodecVP9: - return AV_CODEC_ID_VP9; -+#endif - default: - DVLOG(1) << "Unknown VideoCodec: " << video_codec; - } ---- a/media/filters/ffmpeg_demuxer.cc.orig 2013-05-09 18:04:25.089276403 +0000 -+++ b/media/filters/ffmpeg_demuxer.cc 2013-05-09 18:05:16.289599070 +0000 -@@ -111,12 +111,15 @@ - // Get side data if any. For now, the only type of side_data is VP8 Alpha. We - // keep this generic so that other side_data types in the future can be - // handled the same way as well. -- av_packet_split_side_data(packet.get()); - int side_data_size = 0; -- uint8* side_data = av_packet_get_side_data( -+ uint8* side_data = NULL; -+#ifndef CHROMIUM_OMIT_AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL -+ av_packet_split_side_data(packet.get()); -+ side_data = av_packet_get_side_data( - packet.get(), - AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, - &side_data_size); -+#endif - - // If a packet is returned by FFmpeg's av_parser_parse2() the packet will - // reference inner memory of FFmpeg. As such we should transfer the packet ---- a/media/base/media_posix.cc.orig 2013-05-24 20:59:12.963046035 +0000 -+++ b/media/base/media_posix.cc 2013-05-24 20:59:50.593275882 +0000 -@@ -11,12 +11,15 @@ - #include "base/path_service.h" - #include "base/strings/stringize_macros.h" - #include "media/ffmpeg/ffmpeg_common.h" -+ -+#if !defined(USE_SYSTEM_FFMPEG) - #include "third_party/ffmpeg/ffmpeg_stubs.h" - - using third_party_ffmpeg::kNumStubModules; - using third_party_ffmpeg::kModuleFfmpegsumo; - using third_party_ffmpeg::InitializeStubs; - using third_party_ffmpeg::StubPathMap; -+#endif - - namespace media { - namespace internal { -@@ -46,6 +49,9 @@ - #endif - - bool InitializeMediaLibraryInternal(const base::FilePath& module_dir) { -+#if defined(USE_SYSTEM_FFMPEG) -+ return true; -+#else - StubPathMap paths; - - // First try to initialize with Chrome's sumo library. -@@ -61,6 +67,7 @@ - FILE_PATH_LITERAL(DSO_NAME("avformat", AVFORMAT_VERSION))).value()); - - return InitializeStubs(paths); -+#endif - } - - } // namespace internal +--- a/media/ffmpeg/ffmpeg_common.h 2015-11-27 12:01:56.155462264 +0000 ++++ b/media/ffmpeg/ffmpeg_common.h 2015-11-27 12:03:03.348846300 +0000 +@@ -19,10 +19,6 @@ + + // Include FFmpeg header files. + extern "C" { +-// Disable deprecated features which result in spammy compile warnings. This +-// list of defines must mirror those in the 'defines' section of BUILD.gn file & +-// ffmpeg.gyp file or the headers below will generate different structures! +-#define FF_API_CONVERGENCE_DURATION 0 + // Upstream libavcodec/utils.c still uses the deprecated + // av_dup_packet(), causing deprecation warnings. + // The normal fix for such things is to disable the feature as below, +@@ -36,7 +32,6 @@ + MSVC_PUSH_DISABLE_WARNING(4244); + #include + #include +-#include + #include + #include + #include +diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc +index 155e980..7ba327a 100644 +--- a/media/filters/ffmpeg_demuxer.cc ++++ b/media/filters/ffmpeg_demuxer.cc +@@ -1034,24 +1034,6 @@ + // If no estimate is found, the stream entry will be kInfiniteDuration(). + std::vector start_time_estimates(format_context->nb_streams, + kInfiniteDuration()); +- const AVFormatInternal* internal = format_context->internal; +- if (internal && internal->packet_buffer && +- format_context->start_time != static_cast(AV_NOPTS_VALUE)) { +- struct AVPacketList* packet_buffer = internal->packet_buffer; +- while (packet_buffer != internal->packet_buffer_end) { +- DCHECK_LT(static_cast(packet_buffer->pkt.stream_index), +- start_time_estimates.size()); +- const AVStream* stream = +- format_context->streams[packet_buffer->pkt.stream_index]; +- if (packet_buffer->pkt.pts != static_cast(AV_NOPTS_VALUE)) { +- const base::TimeDelta packet_pts = +- ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts); +- if (packet_pts < start_time_estimates[stream->index]) +- start_time_estimates[stream->index] = packet_pts; +- } +- packet_buffer = packet_buffer->next; +- } +- } + + AVStream* audio_stream = NULL; + AudioDecoderConfig audio_config;