guix/gnu/packages/patches/ungoogled-chromium-ffmpeg-compat.patch
Marius Bakke 6a805f22a3
gnu: ungoogled-chromium: Update to 93.0.4577.82-0.3f62dbc.
* gnu/packages/patches/ungoogled-chromium-ffmpeg-compat.patch,
gnu/packages/patches/ungoogled-chromium-system-nspr.patch: New files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/chromium.scm (%preserved-third-party-files): Adjust for version
93.
(%chromium-version): Set to 93.0.4577.82.
(%ungoogled-revision): Set to 93.0.4577.82-1-2-g3f62dbc.
(%debian-patches): Remove 'system/nspr.patch'.
(%ungoogled-origin): Update source hash.
(%guix-patches): Add 'ungoogled-chromium-ffmpeg-compat.patch' and
'ungoogled-chromium-system-nspr.patch'.
(ungoogled-chromium-snippet): Remove PYTHON-2 usage.  Don't unbundle
'snappy'.
(libvpx/chromium): Remove variable.
(ungoogled-chromium)[source]: Update hash.
[arguments]: Add "is_cfi=false", "use_thin_lto=false", and
"blink_enable_generated_code_formatting=false".
[native-inputs]: Change CLANG-11 to CLANG-12.  Change NODE to NODE-LTS.  Add
PYTHON-BEAUTIFULSOUP4 and PYTHON-HTML5LIB.  Remove PYTHON-2.
[inputs]: Change LIBVPX/CHROMIUM to LIBVPX.
2021-09-23 12:05:53 +02:00

69 lines
2.5 KiB
Diff

The bundled ffmpeg in Chromium is newer than the one in Guix. Patch so
we can build with the new and old ffmpeg versions.
Taken from Gentoo:
https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-93-fix-build-with-system-ffmpeg.patch
diff --git a/media/filters/audio_decoder_unittest.cc b/media/filters/audio_decoder_unittest.cc
--- a/media/filters/audio_decoder_unittest.cc
+++ b/media/filters/audio_decoder_unittest.cc
@@ -109,7 +109,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));
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
@@ -427,11 +427,19 @@ void FFmpegDemuxerStream::EnqueuePacket(
scoped_refptr<DecoderBuffer> buffer;
if (type() == DemuxerStream::TEXT) {
+#if LIBAVUTIL_VERSION_MAJOR < 57
+ int id_size = 0;
+#else
size_t id_size = 0;
+#endif
uint8_t* id_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size);
+#if LIBAVUTIL_VERSION_MAJOR < 57
+ int settings_size = 0;
+#else
size_t settings_size = 0;
+#endif
uint8_t* settings_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size);
@@ -443,7 +451,11 @@ void FFmpegDemuxerStream::EnqueuePacket(
buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
side_data.data(), side_data.size());
} else {
+#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);
@@ -504,7 +516,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));