summaryrefslogtreecommitdiff
path: root/chromium-93-ffmpeg-4.4.patch
diff options
context:
space:
mode:
Diffstat (limited to 'chromium-93-ffmpeg-4.4.patch')
-rw-r--r--chromium-93-ffmpeg-4.4.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/chromium-93-ffmpeg-4.4.patch b/chromium-93-ffmpeg-4.4.patch
new file mode 100644
index 0000000..9755ca8
--- /dev/null
+++ b/chromium-93-ffmpeg-4.4.patch
@@ -0,0 +1,67 @@
+From: 52c3e9c0f140a8742034e107fb0f371c0d73bf1d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
+Date: Sun, 12 Sep 2021 04:20:11 +0200
+Subject: [PATCH] chromium-93: fix building with system-ffmpeg
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The version of ffmpeg bundled in Chromium changed ABI a little, which
+affected the code in that the type of the last parameter of
+av_packet_get_side_data() is now size_t instead of int.
+
+This causes Chromium to fail to build with system-ffmpeg if the system
+ffmpeg's version does not yet have this ABI change.
+
+Fix the code to be able to compile with older ffmpeg as well.
+
+Signed-off-by: Marek BehĂșn <kabel@kernel.org>
+---
+ media/filters/audio_decoder_unittest.cc | 4 ++++
+ media/filters/ffmpeg_demuxer.cc | 16 ++++++++++++++++
+ 2 files changed, 20 insertions(+)
+
+Index: chromium-119.0.6045.21/media/filters/audio_decoder_unittest.cc
+===================================================================
+--- chromium-119.0.6045.21.orig/media/filters/audio_decoder_unittest.cc
++++ chromium-119.0.6045.21/media/filters/audio_decoder_unittest.cc
+@@ -108,7 +108,11 @@ void SetDiscardPadding(AVPacket* packet,
+ }
+
+ // If the timestamp is positive, try to use FFmpeg's discard data.
++#if LIBAVUTIL_VERSION_MAJOR < 57
++ int skip_samples_size = 0;
++#else
+ size_t skip_samples_size = 0;
++#endif
+ const uint32_t* skip_samples_ptr =
+ reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
+ packet, AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
+Index: chromium-119.0.6045.21/media/filters/ffmpeg_demuxer.cc
+===================================================================
+--- chromium-119.0.6045.21.orig/media/filters/ffmpeg_demuxer.cc
++++ chromium-119.0.6045.21/media/filters/ffmpeg_demuxer.cc
+@@ -390,7 +390,11 @@ void FFmpegDemuxerStream::EnqueuePacket(
+
+ scoped_refptr<DecoderBuffer> buffer;
+
++#if LIBAVUTIL_VERSION_MAJOR < 57
++ int side_data_size = 0;
++#else
+ size_t side_data_size = 0;
++#endif
+ uint8_t* side_data = av_packet_get_side_data(
+ packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
+
+@@ -453,7 +457,11 @@ void FFmpegDemuxerStream::EnqueuePacket(
+ packet->size - data_offset);
+ }
+
++#if LIBAVUTIL_VERSION_MAJOR < 57
++ int skip_samples_size = 0;
++#else
+ size_t skip_samples_size = 0;
++#endif
+ const uint32_t* skip_samples_ptr =
+ reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
+ packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));