summaryrefslogtreecommitdiff
path: root/libre/qt5-webengine/system-ffmpeg.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/qt5-webengine/system-ffmpeg.patch')
-rw-r--r--libre/qt5-webengine/system-ffmpeg.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/libre/qt5-webengine/system-ffmpeg.patch b/libre/qt5-webengine/system-ffmpeg.patch
new file mode 100644
index 000000000..a2ff5748d
--- /dev/null
+++ b/libre/qt5-webengine/system-ffmpeg.patch
@@ -0,0 +1,67 @@
+diff --git a/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h b/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
+index 11659fb..e943b16 100644
+--- a/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
++++ b/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
+@@ -21,10 +21,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,
+@@ -39,7 +35,6 @@ MSVC_PUSH_DISABLE_WARNING(4244);
+ #include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+ #if !defined(USE_SYSTEM_FFMPEG)
+-#include <libavformat/internal.h>
+ #endif
+ #include <libavformat/avio.h>
+ #include <libavutil/avutil.h>
+diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc
+index 237c938..2b6cd3e 100644
+--- a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc
++++ b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc
+@@ -1036,24 +1036,6 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb,
+ std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
+ kInfiniteDuration());
+ #if !defined(USE_SYSTEM_FFMPEG)
+- const AVFormatInternal* internal = format_context->internal;
+- if (internal && internal->packet_buffer &&
+- format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
+- struct AVPacketList* packet_buffer = internal->packet_buffer;
+- while (packet_buffer != internal->packet_buffer_end) {
+- DCHECK_LT(static_cast<size_t>(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<int64_t>(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;
+- }
+- }
+ #endif
+
+ AVStream* audio_stream = NULL;
+diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
+index 8854a4b..9af24c5 100644
+--- a/src/core/config/linux.pri
++++ b/src/core/config/linux.pri
+@@ -21,6 +21,10 @@ GYP_CONFIG += \
+ use_pango=0 \
+ use_openssl=1
+
++GYP_CONFIG += \
++ enable_webrtc=0 \
++ use_system_ffmpeg=1
++
+ use?(nss) {
+ GYP_CONFIG += use_nss_certs=1 \
+ use_openssl_certs=0