]> git.99rst.org Git - openwrt-packages.git/commitdiff
gst1-libav: fix build with FFmpeg 9
authorDaniel Golle <redacted>
Tue, 8 Sep 2026 17:55:02 +0000 (18:55 +0100)
committerDaniel Golle <redacted>
Fri, 18 Sep 2026 15:44:26 +0000 (16:44 +0100)
libavcodec 63 does not define the V308, V408 and V410 codec IDs that
the video decoder and encoder registration list among the quasi
codecs to skip, so both files fail to compile. Backport the upstream
change that guards those entries by libavcodec major version.

Fixes: 78521023 ("ffmpeg: update to 9.0.1")
Signed-off-by: Daniel Golle <redacted>
multimedia/gst1-libav/Makefile
multimedia/gst1-libav/patches/001-gst-libav-Fix-build-failure-with-FFmpeg-9.0.patch [new file with mode: 0644]

index 1f1228f65a02cb4699f0ac8b0feaac880d0fa65b..0e793cc13652057c2b0756e1f2bc45a40e9285b8 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-libav
 PKG_VERSION:=1.26.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-libav
diff --git a/multimedia/gst1-libav/patches/001-gst-libav-Fix-build-failure-with-FFmpeg-9.0.patch b/multimedia/gst1-libav/patches/001-gst-libav-Fix-build-failure-with-FFmpeg-9.0.patch
new file mode 100644 (file)
index 0000000..6154eeb
--- /dev/null
@@ -0,0 +1,61 @@
+From ada76f6c4f62c224db838f012512f275c2ac0fbf Mon Sep 17 00:00:00 2001
+From: Reilly Brogan <reilly@reillybrogan.com>
+Date: Tue, 4 Aug 2026 12:09:11 -0500
+Subject: [PATCH] gst-libav: Fix build failure with FFmpeg 9.0
+
+Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5251
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12217>
+---
+ ext/libav/gstavviddec.c | 15 +++++++++------
+ ext/libav/gstavvidenc.c | 15 +++++++++------
+ 2 files changed, 18 insertions(+), 12 deletions(-)
+
+--- a/ext/libav/gstavviddec.c
++++ b/ext/libav/gstavviddec.c
+@@ -2760,12 +2760,15 @@ gst_ffmpegviddec_register (GstPlugin * p
+     }
+     /* no quasi codecs, please */
+-    if (in_plugin->id == AV_CODEC_ID_RAWVIDEO ||
+-        in_plugin->id == AV_CODEC_ID_V210 ||
+-        in_plugin->id == AV_CODEC_ID_V210X ||
+-        in_plugin->id == AV_CODEC_ID_V308 ||
+-        in_plugin->id == AV_CODEC_ID_V408 ||
+-        in_plugin->id == AV_CODEC_ID_V410 || in_plugin->id == AV_CODEC_ID_R210
++    if (in_plugin->id == AV_CODEC_ID_RAWVIDEO
++        || in_plugin->id == AV_CODEC_ID_V210
++        || in_plugin->id == AV_CODEC_ID_V210X
++        || in_plugin->id == AV_CODEC_ID_R210
++#if LIBAVCODEC_VERSION_MAJOR < 63
++        || in_plugin->id == AV_CODEC_ID_V308
++        || in_plugin->id == AV_CODEC_ID_V408
++        || in_plugin->id == AV_CODEC_ID_V410
++#endif
+ #if LIBAVCODEC_VERSION_MAJOR < 61
+         || in_plugin->id == AV_CODEC_ID_AYUV
+ #endif
+--- a/ext/libav/gstavvidenc.c
++++ b/ext/libav/gstavvidenc.c
+@@ -1030,12 +1030,15 @@ gst_ffmpegvidenc_register (GstPlugin * p
+     }
+     /* no quasi codecs, please */
+-    if (in_plugin->id == AV_CODEC_ID_RAWVIDEO ||
+-        in_plugin->id == AV_CODEC_ID_V210 ||
+-        in_plugin->id == AV_CODEC_ID_V210X ||
+-        in_plugin->id == AV_CODEC_ID_V308 ||
+-        in_plugin->id == AV_CODEC_ID_V408 ||
+-        in_plugin->id == AV_CODEC_ID_V410 || in_plugin->id == AV_CODEC_ID_R210
++    if (in_plugin->id == AV_CODEC_ID_RAWVIDEO
++        || in_plugin->id == AV_CODEC_ID_V210
++        || in_plugin->id == AV_CODEC_ID_V210X
++        || in_plugin->id == AV_CODEC_ID_R210
++#if LIBAVCODEC_VERSION_MAJOR < 63
++        || in_plugin->id == AV_CODEC_ID_V308
++        || in_plugin->id == AV_CODEC_ID_V408
++        || in_plugin->id == AV_CODEC_ID_V410
++#endif
+ #if LIBAVCODEC_VERSION_MAJOR < 61
+         || in_plugin->id == AV_CODEC_ID_AYUV
+ #endif
git clone https://git.99rst.org/PROJECT