From: Daniel Golle Date: Tue, 8 Sep 2026 17:55:02 +0000 (+0100) Subject: gst1-libav: fix build with FFmpeg 9 X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=66c7c55e4ac3756c689b7cc147c3e5139e093503;p=openwrt-packages.git gst1-libav: fix build with FFmpeg 9 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 --- diff --git a/multimedia/gst1-libav/Makefile b/multimedia/gst1-libav/Makefile index 1f1228f65..0e793cc13 100644 --- a/multimedia/gst1-libav/Makefile +++ b/multimedia/gst1-libav/Makefile @@ -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 index 000000000..6154eeb2f --- /dev/null +++ b/multimedia/gst1-libav/patches/001-gst-libav-Fix-build-failure-with-FFmpeg-9.0.patch @@ -0,0 +1,61 @@ +From ada76f6c4f62c224db838f012512f275c2ac0fbf Mon Sep 17 00:00:00 2001 +From: Reilly Brogan +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: +--- + 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