* [Buildroot] [PATCH v3 0/3] Build fixes for ffmpeg 8.0
@ 2026-01-06 19:30 Bernd Kuhls
2026-01-06 19:30 ` [Buildroot] [PATCH v3 1/3] package/freerdp: fix build with " Bernd Kuhls
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Bernd Kuhls @ 2026-01-06 19:30 UTC (permalink / raw)
To: buildroot
Cc: Baxiche Su, Jesse Van Gavere, Roy Kollen Svendsen,
Thomas Petazzoni
Hi,
this series adds patches to fix build errors which would occur with the
upcoming bump of ffmpeg from 6.1.3 to 8.0.1, no backports in buildroot
necessary.
All patches are compatible with the current ffmpeg version used in
buildroot and are tested using this defconfig:
BR2_x86_64=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_FREERDP=y
BR2_PACKAGE_QT6=y
BR2_PACKAGE_QT6MULTIMEDIA=y
BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG=y
BR2_PACKAGE_FREESWITCH=y
To my knowledge the only remaining package which gets broken if the
ffmpeg version bump[1] would be applied without further changes is kodi.
The Kodi project prepares version 22.0 which includes compatibility with
ffmpeg 8.0 and is currently at alpha2 stage.
The current version of libcamera-apps is broken with ffmpeg 8.0 as well
but version 1.10.1 adds compatibility with ffmpeg 8.x while removing
support for older ffmpeg versions like the one used by buildroot:
https://github.com/raspberrypi/rpicam-apps/commit/cbe9921eeddd8e1c2e5798102f485baea5de3f65
../encoder/libav_encoder.hpp:33:2: error: #error "Error: libavcodec API version is too old for the libav encoder!"
33 | #error "Error: libavcodec API version is too old for the libav encoder!"
Regards, Bernd
[1] https://github.com/bkuhls/buildroot/commit/d8dbe78d03a8d3ded297328a3737fc49ba230cf1
v3: removed vlc from series, patches are included in 3.0.23 bump
v2: removed libcamera-apps from series
Bernd Kuhls (3):
package/freerdp: fix build with ffmpeg 8.0
package/freeswitch: fix build with ffmpeg 8.0
package/qt6/qt6multimedia: fix build with ffmpeg 8.0
.../0005-fix-ffmpeg-deprecations.patch | 146 ++++++++++++++++++
.../0006-fix-ffmpeg-deprecation-warning.patch | 34 ++++
.../0007-FF_PROFILE-Depreciation-Fix.patch | 31 ++++
.../0008-ignore-EAGAIN-for-FFMPEG.patch | 44 ++++++
package/freerdp/freerdp.mk | 4 +-
package/freeswitch/0004-ffmpeg8.patch | 52 +++++++
package/qt6/qt6multimedia/0001-ffmpeg8.patch | 39 +++++
7 files changed, 349 insertions(+), 1 deletion(-)
create mode 100644 package/freerdp/0005-fix-ffmpeg-deprecations.patch
create mode 100644 package/freerdp/0006-fix-ffmpeg-deprecation-warning.patch
create mode 100644 package/freerdp/0007-FF_PROFILE-Depreciation-Fix.patch
create mode 100644 package/freerdp/0008-ignore-EAGAIN-for-FFMPEG.patch
create mode 100644 package/freeswitch/0004-ffmpeg8.patch
create mode 100644 package/qt6/qt6multimedia/0001-ffmpeg8.patch
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 1/3] package/freerdp: fix build with ffmpeg 8.0
2026-01-06 19:30 [Buildroot] [PATCH v3 0/3] Build fixes for ffmpeg 8.0 Bernd Kuhls
@ 2026-01-06 19:30 ` Bernd Kuhls
2026-02-03 7:52 ` Thomas Petazzoni via buildroot
2026-01-06 19:30 ` [Buildroot] [PATCH v3 2/3] package/freeswitch: " Bernd Kuhls
2026-01-06 19:30 ` [Buildroot] [PATCH v3 3/3] package/qt6/qt6multimedia: " Bernd Kuhls
2 siblings, 1 reply; 5+ messages in thread
From: Bernd Kuhls @ 2026-01-06 19:30 UTC (permalink / raw)
To: buildroot
Cc: Baxiche Su, Jesse Van Gavere, Roy Kollen Svendsen,
Thomas Petazzoni
Added four upstream patches backported from FreeRDP 3.x.
The remaining build error:
/home/bernd/buildroot/output/build/freerdp-2.11.7-18-g0ee17e2f8e49d56ab5b90d5160fa8f87ffc445e0/
channels/client/tables.c:129:22:
error: initialization of ‘UINT (*)(void)’ {aka ‘unsigned int (*)(void)’}
from incompatible pointer type ‘UINT (*)(void *)’ {aka ‘unsigned int (*)(void *)’}
[-Wincompatible-pointer-types]
129 | { "oss", "", oss_freerdp_rdpsnd_client_subsystem_entry },
is fixed by adding -Wno-incompatible-pointer-types to CFLAGS due to
tables.c being dynamically created during the build and backporting the
supposed upstream fix
https://github.com/FreeRDP/FreeRDP/commit/fe6d861a5c21edf5341ec203a12d6f62f8a80367
is too invasive.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../0005-fix-ffmpeg-deprecations.patch | 146 ++++++++++++++++++
.../0006-fix-ffmpeg-deprecation-warning.patch | 34 ++++
.../0007-FF_PROFILE-Depreciation-Fix.patch | 31 ++++
.../0008-ignore-EAGAIN-for-FFMPEG.patch | 44 ++++++
package/freerdp/freerdp.mk | 4 +-
5 files changed, 258 insertions(+), 1 deletion(-)
create mode 100644 package/freerdp/0005-fix-ffmpeg-deprecations.patch
create mode 100644 package/freerdp/0006-fix-ffmpeg-deprecation-warning.patch
create mode 100644 package/freerdp/0007-FF_PROFILE-Depreciation-Fix.patch
create mode 100644 package/freerdp/0008-ignore-EAGAIN-for-FFMPEG.patch
diff --git a/package/freerdp/0005-fix-ffmpeg-deprecations.patch b/package/freerdp/0005-fix-ffmpeg-deprecations.patch
new file mode 100644
index 0000000000..bf7206090e
--- /dev/null
+++ b/package/freerdp/0005-fix-ffmpeg-deprecations.patch
@@ -0,0 +1,146 @@
+From 83bda60872d2f8f4230de53a645112d8239b67ba Mon Sep 17 00:00:00 2001
+From: Armin Novak <armin.novak@thincast.com>
+Date: Wed, 7 Jun 2023 11:46:07 +0200
+Subject: [PATCH] fix ffmpeg deprecations
+
+Upstream: https://github.com/FreeRDP/FreeRDP/commit/d0c5b1ae4289c7f3cde3fbc031cb4a3160df05ff
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ libfreerdp/codec/dsp_ffmpeg.c | 54 +++++++++++++++++++++++++++--------
+ 1 file changed, 42 insertions(+), 12 deletions(-)
+
+diff --git a/libfreerdp/codec/dsp_ffmpeg.c b/libfreerdp/codec/dsp_ffmpeg.c
+index 80df18833..22d6ce215 100644
+--- a/libfreerdp/codec/dsp_ffmpeg.c
++++ b/libfreerdp/codec/dsp_ffmpeg.c
+@@ -225,18 +225,17 @@ static void ffmpeg_close_context(FREERDP_DSP_CONTEXT* context)
+ static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
+ {
+ int ret;
+- int layout;
+- const AUDIO_FORMAT* format;
+
+ if (!context || context->isOpen)
+ return FALSE;
+
+- format = &context->format;
++ const AUDIO_FORMAT* format = &context->format;
+
+ if (!format)
+ return FALSE;
+-
+- layout = av_get_default_channel_layout(format->nChannels);
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
++ const int layout = av_get_default_channel_layout(format->nChannels);
++#endif
+ context->id = ffmpeg_get_avcodec(format);
+
+ if (ffmpeg_codec_is_filtered(context->id, context->encoder))
+@@ -270,8 +269,12 @@ static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
+ break;
+ }
+
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
+ context->context->channels = format->nChannels;
+ context->context->channel_layout = layout;
++#else
++ av_channel_layout_default(&context->context->ch_layout, format->nChannels);
++#endif
+ context->context->sample_rate = format->nSamplesPerSec;
+ context->context->block_align = format->nBlockAlign;
+ context->context->bit_rate = format->nAvgBytesPerSec * 8;
+@@ -314,8 +317,12 @@ static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
+ if (!context->rcontext)
+ goto fail;
+
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
+ context->frame->channel_layout = layout;
+ context->frame->channels = format->nChannels;
++#else
++ av_channel_layout_default(&context->frame->ch_layout, format->nChannels);
++#endif
+ context->frame->sample_rate = format->nSamplesPerSec;
+ context->frame->format = AV_SAMPLE_FMT_S16;
+
+@@ -330,13 +337,21 @@ static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
+ context->resampled->sample_rate = format->nSamplesPerSec;
+ }
+
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
+ context->resampled->channel_layout = layout;
+ context->resampled->channels = format->nChannels;
++#else
++ av_channel_layout_default(&context->resampled->ch_layout, format->nChannels);
++#endif
+
+ if (context->context->frame_size > 0)
+ {
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
+ context->buffered->channel_layout = context->resampled->channel_layout;
+ context->buffered->channels = context->resampled->channels;
++#else
++ av_channel_layout_copy(&context->buffered->ch_layout, &context->resampled->ch_layout);
++#endif
+ context->buffered->format = context->resampled->format;
+ context->buffered->nb_samples = context->context->frame_size;
+
+@@ -477,14 +492,20 @@ static BOOL ffmpeg_fill_frame(AVFrame* frame, const AUDIO_FORMAT* inputFormat, c
+ size_t size)
+ {
+ int ret, bpp;
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
+ frame->channels = inputFormat->nChannels;
++ frame->channel_layout = av_get_default_channel_layout(frame->channels);
++#else
++ av_channel_layout_default(&frame->ch_layout, inputFormat->nChannels);
++#endif
+ frame->sample_rate = inputFormat->nSamplesPerSec;
+ frame->format = ffmpeg_sample_format(inputFormat);
+- frame->channel_layout = av_get_default_channel_layout(frame->channels);
++
+ bpp = av_get_bytes_per_sample(frame->format);
+ frame->nb_samples = size / inputFormat->nChannels / bpp;
+
+- if ((ret = avcodec_fill_audio_frame(frame, frame->channels, frame->format, data, size, 1)) < 0)
++ if ((ret = avcodec_fill_audio_frame(frame, inputFormat->nChannels, frame->format, data, size,
++ 1)) < 0)
+ {
+ const char* err = av_err2str(ret);
+ WLog_ERR(TAG, "Error during audio frame fill %s [%d]", err, ret);
+@@ -566,7 +587,12 @@ static BOOL ffmpeg_decode(AVCodecContext* dec_ctx, AVPacket* pkt, AVFrame* frame
+ }
+
+ {
+- const size_t data_size = resampled->channels * resampled->nb_samples * 2;
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
++ const size_t channels = resampled->channels;
++#else
++ const size_t channels = resampled->ch_layout.nb_channels;
++#endif
++ const size_t data_size = channels * resampled->nb_samples * 2;
+ Stream_EnsureRemainingCapacity(out, data_size);
+ Stream_Write(out, resampled->data[0], data_size);
+ }
+@@ -661,10 +687,14 @@ BOOL freerdp_dsp_ffmpeg_encode(FREERDP_DSP_CONTEXT* context, const AUDIO_FORMAT*
+ if (inSamples + (int)context->bufferedSamples > context->context->frame_size)
+ inSamples = context->context->frame_size - (int)context->bufferedSamples;
+
+- rc =
+- av_samples_copy(context->buffered->extended_data, context->resampled->extended_data,
+- (int)context->bufferedSamples, copied, inSamples,
+- context->context->channels, context->context->sample_fmt);
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
++ const int channels = context->context->channels;
++#else
++ const int channels = context->context->ch_layout.nb_channels;
++#endif
++ rc = av_samples_copy(context->buffered->extended_data,
++ context->resampled->extended_data, (int)context->bufferedSamples,
++ copied, inSamples, channels, context->context->sample_fmt);
+ rest -= inSamples;
+ copied += inSamples;
+ context->bufferedSamples += (UINT32)inSamples;
+--
+2.47.3
+
diff --git a/package/freerdp/0006-fix-ffmpeg-deprecation-warning.patch b/package/freerdp/0006-fix-ffmpeg-deprecation-warning.patch
new file mode 100644
index 0000000000..b0f56c4e80
--- /dev/null
+++ b/package/freerdp/0006-fix-ffmpeg-deprecation-warning.patch
@@ -0,0 +1,34 @@
+From 83ba6817093ad1546053878c2e720d13f29f9126 Mon Sep 17 00:00:00 2001
+From: Armin Novak <anovak@thincast.com>
+Date: Fri, 24 Nov 2023 19:40:52 +0100
+Subject: [PATCH] fix ffmpeg deprecation warning
+
+Upstream: https://github.com/FreeRDP/FreeRDP/commit/1ef7b9e3e06ef69e5145c6f11cc330078abaa9ea
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ libfreerdp/codec/dsp_ffmpeg.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/libfreerdp/codec/dsp_ffmpeg.c b/libfreerdp/codec/dsp_ffmpeg.c
+index 22d6ce215..5c89af6b1 100644
+--- a/libfreerdp/codec/dsp_ffmpeg.c
++++ b/libfreerdp/codec/dsp_ffmpeg.c
+@@ -436,7 +436,13 @@ static BOOL ffmpeg_encode_frame(AVCodecContext* context, AVFrame* in, AVPacket*
+ if (in->format == AV_SAMPLE_FMT_FLTP)
+ {
+ uint8_t** pp = in->extended_data;
+- for (int y = 0; y < in->channels; y++)
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
++ const int nr_channels = in->channels;
++#else
++ const int nr_channels = in->ch_layout.nb_channels;
++#endif
++
++ for (int y = 0; y < nr_channels; y++)
+ {
+ float* data = (float*)pp[y];
+ for (int x = 0; x < in->nb_samples; x++)
+--
+2.47.3
+
diff --git a/package/freerdp/0007-FF_PROFILE-Depreciation-Fix.patch b/package/freerdp/0007-FF_PROFILE-Depreciation-Fix.patch
new file mode 100644
index 0000000000..4a85d91ee0
--- /dev/null
+++ b/package/freerdp/0007-FF_PROFILE-Depreciation-Fix.patch
@@ -0,0 +1,31 @@
+From 9360089dfbcb6ee97a6b8f40c85f61e4108c80e4 Mon Sep 17 00:00:00 2001
+From: endlesseden <endlesseden@users.noreply.github.com>
+Date: Tue, 29 Apr 2025 16:11:03 +1000
+Subject: [PATCH] FF_PROFILE Depreciation Fix
+
+Upstream: https://github.com/FreeRDP/FreeRDP/commit/af45cb37e3b2d81a11637c4b2dfe82e8947c41ea
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ libfreerdp/codec/dsp_ffmpeg.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libfreerdp/codec/dsp_ffmpeg.c b/libfreerdp/codec/dsp_ffmpeg.c
+index 5c89af6b1..8955e894d 100644
+--- a/libfreerdp/codec/dsp_ffmpeg.c
++++ b/libfreerdp/codec/dsp_ffmpeg.c
+@@ -262,7 +262,11 @@ static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
+ break;
+
+ case AV_CODEC_ID_AAC:
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ context->context->profile = FF_PROFILE_AAC_MAIN;
++#else
++ context->context->profile = AV_PROFILE_AAC_MAIN;
++#endif
+ break;
+
+ default:
+--
+2.47.3
+
diff --git a/package/freerdp/0008-ignore-EAGAIN-for-FFMPEG.patch b/package/freerdp/0008-ignore-EAGAIN-for-FFMPEG.patch
new file mode 100644
index 0000000000..4a4c2c80c9
--- /dev/null
+++ b/package/freerdp/0008-ignore-EAGAIN-for-FFMPEG.patch
@@ -0,0 +1,44 @@
+From dcc8f415866e348ae86cfe85fde3c2d9285a7208 Mon Sep 17 00:00:00 2001
+From: akallabeth <akallabeth@posteo.net>
+Date: Tue, 28 Jan 2025 20:25:17 +0100
+Subject: [PATCH] ignore EAGAIN for FFMPEG
+
+Upstream: https://github.com/FreeRDP/FreeRDP/commit/726add2a982bfdf4cffef3cc95395c9a4b49385b
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+[partially backported to stable-2.0 branch]
+---
+ libfreerdp/codec/h264_ffmpeg.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libfreerdp/codec/h264_ffmpeg.c b/libfreerdp/codec/h264_ffmpeg.c
+index 9c445b825..da6bed08e 100644
+--- a/libfreerdp/codec/h264_ffmpeg.c
++++ b/libfreerdp/codec/h264_ffmpeg.c
+@@ -100,10 +100,10 @@ static void libavcodec_destroy_encoder(H264_CONTEXT* h264)
+
+ if (sys->codecEncoderContext)
+ {
+- avcodec_close(sys->codecEncoderContext);
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100)
+ avcodec_free_context(&sys->codecEncoderContext);
+ #else
++ avcodec_close(sys->codecEncoderContext);
+ av_free(sys->codecEncoderContext);
+ #endif
+ }
+@@ -430,10 +430,10 @@ static void libavcodec_uninit(H264_CONTEXT* h264)
+
+ if (sys->codecDecoderContext)
+ {
+- avcodec_close(sys->codecDecoderContext);
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100)
+ avcodec_free_context(&sys->codecDecoderContext);
+ #else
++ avcodec_close(sys->codecDecoderContext);
+ av_free(sys->codecDecoderContext);
+ #endif
+ }
+--
+2.47.3
+
diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk
index 3a1ba61621..eb17c80e4f 100644
--- a/package/freerdp/freerdp.mk
+++ b/package/freerdp/freerdp.mk
@@ -15,7 +15,9 @@ FREERDP_CPE_ID_VENDOR = freerdp
FREERDP_INSTALL_STAGING = YES
-FREERDP_CONF_OPTS = -DWITH_MANPAGES=OFF -Wno-dev -DWITH_GSTREAMER_0_10=OFF
+FREERDP_CONF_OPTS = \
+ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -Wno-incompatible-pointer-types" \
+ -DWITH_MANPAGES=OFF -Wno-dev -DWITH_GSTREAMER_0_10=OFF
ifeq ($(BR2_PACKAGE_FREERDP_GSTREAMER1),y)
FREERDP_CONF_OPTS += -DWITH_GSTREAMER_1_0=ON
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 2/3] package/freeswitch: fix build with ffmpeg 8.0
2026-01-06 19:30 [Buildroot] [PATCH v3 0/3] Build fixes for ffmpeg 8.0 Bernd Kuhls
2026-01-06 19:30 ` [Buildroot] [PATCH v3 1/3] package/freerdp: fix build with " Bernd Kuhls
@ 2026-01-06 19:30 ` Bernd Kuhls
2026-01-06 19:30 ` [Buildroot] [PATCH v3 3/3] package/qt6/qt6multimedia: " Bernd Kuhls
2 siblings, 0 replies; 5+ messages in thread
From: Bernd Kuhls @ 2026-01-06 19:30 UTC (permalink / raw)
To: buildroot
Cc: Baxiche Su, Jesse Van Gavere, Roy Kollen Svendsen,
Thomas Petazzoni
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/freeswitch/0004-ffmpeg8.patch | 52 +++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
create mode 100644 package/freeswitch/0004-ffmpeg8.patch
diff --git a/package/freeswitch/0004-ffmpeg8.patch b/package/freeswitch/0004-ffmpeg8.patch
new file mode 100644
index 0000000000..486231e79c
--- /dev/null
+++ b/package/freeswitch/0004-ffmpeg8.patch
@@ -0,0 +1,52 @@
+From 0ce211af3a3ad0b1060b542d0a92a07dab5d2d59 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Sat, 23 Aug 2025 18:15:39 +0200
+Subject: [PATCH] [mod_av] Add support for FFmpeg 8.0
+
+remove deprecated FF_API_FF_PROFILE_LEVEL:
+https://github.com/FFmpeg/FFmpeg/commit/822432769868da325ba03774df1084aa78b9a5a0
+
+Upstream: https://github.com/signalwire/freeswitch/pull/2896
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/mod/applications/mod_av/avcodec.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/mod/applications/mod_av/avcodec.c b/src/mod/applications/mod_av/avcodec.c
+index a9d449b562c..9962b821d53 100644
+--- a/src/mod/applications/mod_av/avcodec.c
++++ b/src/mod/applications/mod_av/avcodec.c
+@@ -530,7 +530,7 @@ static void init_profile(avcodec_profile_t *aprofile, const char *name)
+ aprofile->decoder_thread_count = avcodec_globals.dec_threads;
+
+ if (!strcasecmp(name, "H264")) {
+- aprofile->ctx.profile = FF_PROFILE_H264_BASELINE;
++ aprofile->ctx.profile = AV_PROFILE_H264_BASELINE;
+ aprofile->ctx.level = 31;
+ #ifdef AV_CODEC_FLAG_PSNR
+ aprofile->ctx.flags |= AV_CODEC_FLAG_PSNR;
+@@ -2071,7 +2071,7 @@ static void parse_profile(avcodec_profile_t *aprofile, switch_xml_t profile)
+
+ ctx = &aprofile->ctx;
+
+- ctx->profile = FF_PROFILE_H264_BASELINE;
++ ctx->profile = AV_PROFILE_H264_BASELINE;
+ ctx->level = 31;
+
+ for (param = switch_xml_child(profile, "param"); param; param = param->next) {
+@@ -2094,11 +2094,11 @@ static void parse_profile(avcodec_profile_t *aprofile, switch_xml_t profile)
+
+ if (ctx->profile == 0 && !strcasecmp(aprofile->name, "H264")) {
+ if (!strcasecmp(value, "baseline")) {
+- ctx->profile = FF_PROFILE_H264_BASELINE;
++ ctx->profile = AV_PROFILE_H264_BASELINE;
+ } else if (!strcasecmp(value, "main")) {
+- ctx->profile = FF_PROFILE_H264_MAIN;
++ ctx->profile = AV_PROFILE_H264_MAIN;
+ } else if (!strcasecmp(value, "high")) {
+- ctx->profile = FF_PROFILE_H264_HIGH;
++ ctx->profile = AV_PROFILE_H264_HIGH;
+ }
+ }
+ } else if (!strcmp(name, "level")) {
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 3/3] package/qt6/qt6multimedia: fix build with ffmpeg 8.0
2026-01-06 19:30 [Buildroot] [PATCH v3 0/3] Build fixes for ffmpeg 8.0 Bernd Kuhls
2026-01-06 19:30 ` [Buildroot] [PATCH v3 1/3] package/freerdp: fix build with " Bernd Kuhls
2026-01-06 19:30 ` [Buildroot] [PATCH v3 2/3] package/freeswitch: " Bernd Kuhls
@ 2026-01-06 19:30 ` Bernd Kuhls
2 siblings, 0 replies; 5+ messages in thread
From: Bernd Kuhls @ 2026-01-06 19:30 UTC (permalink / raw)
To: buildroot
Cc: Baxiche Su, Jesse Van Gavere, Roy Kollen Svendsen,
Thomas Petazzoni
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/qt6/qt6multimedia/0001-ffmpeg8.patch | 39 ++++++++++++++++++++
1 file changed, 39 insertions(+)
create mode 100644 package/qt6/qt6multimedia/0001-ffmpeg8.patch
diff --git a/package/qt6/qt6multimedia/0001-ffmpeg8.patch b/package/qt6/qt6multimedia/0001-ffmpeg8.patch
new file mode 100644
index 0000000000..9bbeb9e135
--- /dev/null
+++ b/package/qt6/qt6multimedia/0001-ffmpeg8.patch
@@ -0,0 +1,39 @@
+From 9670d9e5eb7acb9efb0f2f1a798a09baace53d82 Mon Sep 17 00:00:00 2001
+From: Tim Blechmann <tim.blechmann@qt.io>
+Date: Mon, 2 Jun 2025 09:56:57 +0800
+Subject: FFmpeg: 7.2 compile fix
+
+AV_CODEC_CAP_SUBFRAMES was deprecated without replacement and removed.
+
+Pick-to: 6.8 6.5
+Change-Id: I45ac1d0d603f88701bdb727a7a472cfea8f32d5d
+Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
+Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
+(cherry picked from commit 65b11b9f97632101041134e04713697b17819884)
+Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
+(cherry picked from commit ef866d101e58832f0bf86150ed8328e2d3ec9c49)
+
+Upstream: https://code.qt.io/cgit/qt/qtmultimedia.git/commit/?h=6.9.2&id=9670d9e5eb7acb9efb0f2f1a798a09baace53d82
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp b/src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp
+index c154fd835..360a33909 100644
+--- a/src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp
++++ b/src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp
+@@ -99,7 +99,9 @@ void dumpCodecInfo(const Codec &codec)
+ { AV_CODEC_CAP_DR1, "DRAW_HORIZ_DR1" },
+ { AV_CODEC_CAP_DELAY, "DELAY" },
+ { AV_CODEC_CAP_SMALL_LAST_FRAME, "SMALL_LAST_FRAME" },
++#ifdef AV_CODEC_CAP_SUBFRAMES
+ { AV_CODEC_CAP_SUBFRAMES, "SUBFRAMES" },
++#endif
+ { AV_CODEC_CAP_EXPERIMENTAL, "EXPERIMENTAL" },
+ { AV_CODEC_CAP_CHANNEL_CONF, "CHANNEL_CONF" },
+ { AV_CODEC_CAP_FRAME_THREADS, "FRAME_THREADS" },
+--
+cgit v1.2.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH v3 1/3] package/freerdp: fix build with ffmpeg 8.0
2026-01-06 19:30 ` [Buildroot] [PATCH v3 1/3] package/freerdp: fix build with " Bernd Kuhls
@ 2026-02-03 7:52 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-02-03 7:52 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot, Baxiche Su, Jesse Van Gavere, Roy Kollen Svendsen
On Tue, Jan 06, 2026 at 08:30:14PM +0100, Bernd Kuhls wrote:
> Added four upstream patches backported from FreeRDP 3.x.
>
> The remaining build error:
>
> /home/bernd/buildroot/output/build/freerdp-2.11.7-18-g0ee17e2f8e49d56ab5b90d5160fa8f87ffc445e0/
> channels/client/tables.c:129:22:
> error: initialization of ‘UINT (*)(void)’ {aka ‘unsigned int (*)(void)’}
> from incompatible pointer type ‘UINT (*)(void *)’ {aka ‘unsigned int (*)(void *)’}
> [-Wincompatible-pointer-types]
> 129 | { "oss", "", oss_freerdp_rdpsnd_client_subsystem_entry },
>
> is fixed by adding -Wno-incompatible-pointer-types to CFLAGS due to
> tables.c being dynamically created during the build and backporting the
> supposed upstream fix
> https://github.com/FreeRDP/FreeRDP/commit/fe6d861a5c21edf5341ec203a12d6f62f8a80367
> is too invasive.
>
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Thanks a lot, entire series applied!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-02-03 7:52 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-06 19:30 [Buildroot] [PATCH v3 0/3] Build fixes for ffmpeg 8.0 Bernd Kuhls
2026-01-06 19:30 ` [Buildroot] [PATCH v3 1/3] package/freerdp: fix build with " Bernd Kuhls
2026-02-03 7:52 ` Thomas Petazzoni via buildroot
2026-01-06 19:30 ` [Buildroot] [PATCH v3 2/3] package/freeswitch: " Bernd Kuhls
2026-01-06 19:30 ` [Buildroot] [PATCH v3 3/3] package/qt6/qt6multimedia: " Bernd Kuhls
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.