[packages/qt5-qtwebengine] - rel 3, build fixes for ffmpeg 8+
baggins
baggins at pld-linux.org
Fri Oct 23 10:31:36 CEST 2026
commit 24349813dd938889d25964ff4e3058f60308f141
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Fri Oct 23 10:31:09 2026 +0200
- rel 3, build fixes for ffmpeg 8+
ffmpeg8.patch | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++
qt5-qtwebengine.spec | 4 +-
2 files changed, 116 insertions(+), 1 deletion(-)
---
diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec
index f27f472..e82536b 100644
--- a/qt5-qtwebengine.spec
+++ b/qt5-qtwebengine.spec
@@ -18,7 +18,7 @@ Summary: The Qt5 WebEngine library
Summary(pl.UTF-8): Biblioteka Qt5 WebEngine
Name: qt5-%{orgname}
Version: %{base_version}.19
-Release: 2
+Release: 3
License: LGPL v3 or GPL v2 or GPL v3 or commercial
Group: X11/Libraries
Source0: https://download.qt.io/archive/qt/5.15/%{version}/submodules/%{orgname}-everywhere-opensource-src-%{version}.tar.xz
@@ -35,6 +35,7 @@ Patch9: icu75.patch
Patch10: includes.patch
Patch11: glibc2.43.patch
Patch12: ffmpeg7.patch
+Patch13: ffmpeg8.patch
URL: https://www.qt.io/
BuildRequires: Qt5Core-devel >= %{qtbase_ver}
BuildRequires: Qt5Designer-devel >= %{qttools_ver}
@@ -308,6 +309,7 @@ Przykłady do biblioteki Qt5 WebEngine.
%patch -P10 -p1 -d src/3rdparty
%patch -P11 -p2
%patch -P12 -p1
+%patch -P13 -p1
%if %{without system_re2}
# avoid finding system re2
diff --git a/ffmpeg8.patch b/ffmpeg8.patch
new file mode 100644
index 0000000..5b7073f
--- /dev/null
+++ b/ffmpeg8.patch
@@ -0,0 +1,113 @@
+diff -up qtwebengine-everywhere-src-5.15.18/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc.ffmpeg8 qtwebengine-everywhere-src-5.15.18/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc
+--- qtwebengine-everywhere-src-5.15.18/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc.ffmpeg8 2025-11-02 21:41:06.931797956 +0000
++++ qtwebengine-everywhere-src-5.15.18/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc 2025-11-02 23:06:28.874349338 +0000
+@@ -237,22 +237,22 @@ AVCodecID VideoCodecToCodecID(VideoCodec
+ static VideoCodecProfile ProfileIDToVideoCodecProfile(int profile) {
+ // Clear out the CONSTRAINED & INTRA flags which are strict subsets of the
+ // corresponding profiles with which they're used.
+- profile &= ~FF_PROFILE_H264_CONSTRAINED;
+- profile &= ~FF_PROFILE_H264_INTRA;
++ profile &= ~AV_PROFILE_H264_CONSTRAINED;
++ profile &= ~AV_PROFILE_H264_INTRA;
+ switch (profile) {
+- case FF_PROFILE_H264_BASELINE:
++ case AV_PROFILE_H264_BASELINE:
+ return H264PROFILE_BASELINE;
+- case FF_PROFILE_H264_MAIN:
++ case AV_PROFILE_H264_MAIN:
+ return H264PROFILE_MAIN;
+- case FF_PROFILE_H264_EXTENDED:
++ case AV_PROFILE_H264_EXTENDED:
+ return H264PROFILE_EXTENDED;
+- case FF_PROFILE_H264_HIGH:
++ case AV_PROFILE_H264_HIGH:
+ return H264PROFILE_HIGH;
+- case FF_PROFILE_H264_HIGH_10:
++ case AV_PROFILE_H264_HIGH_10:
+ return H264PROFILE_HIGH10PROFILE;
+- case FF_PROFILE_H264_HIGH_422:
++ case AV_PROFILE_H264_HIGH_422:
+ return H264PROFILE_HIGH422PROFILE;
+- case FF_PROFILE_H264_HIGH_444_PREDICTIVE:
++ case AV_PROFILE_H264_HIGH_444_PREDICTIVE:
+ return H264PROFILE_HIGH444PREDICTIVEPROFILE;
+ default:
+ DVLOG(1) << "Unknown profile id: " << profile;
+@@ -263,23 +263,23 @@ static VideoCodecProfile ProfileIDToVide
+ static int VideoCodecProfileToProfileID(VideoCodecProfile profile) {
+ switch (profile) {
+ case H264PROFILE_BASELINE:
+- return FF_PROFILE_H264_BASELINE;
++ return AV_PROFILE_H264_BASELINE;
+ case H264PROFILE_MAIN:
+- return FF_PROFILE_H264_MAIN;
++ return AV_PROFILE_H264_MAIN;
+ case H264PROFILE_EXTENDED:
+- return FF_PROFILE_H264_EXTENDED;
++ return AV_PROFILE_H264_EXTENDED;
+ case H264PROFILE_HIGH:
+- return FF_PROFILE_H264_HIGH;
++ return AV_PROFILE_H264_HIGH;
+ case H264PROFILE_HIGH10PROFILE:
+- return FF_PROFILE_H264_HIGH_10;
++ return AV_PROFILE_H264_HIGH_10;
+ case H264PROFILE_HIGH422PROFILE:
+- return FF_PROFILE_H264_HIGH_422;
++ return AV_PROFILE_H264_HIGH_422;
+ case H264PROFILE_HIGH444PREDICTIVEPROFILE:
+- return FF_PROFILE_H264_HIGH_444_PREDICTIVE;
++ return AV_PROFILE_H264_HIGH_444_PREDICTIVE;
+ default:
+ DVLOG(1) << "Unknown VideoCodecProfile: " << profile;
+ }
+- return FF_PROFILE_UNKNOWN;
++ return AV_PROFILE_UNKNOWN;
+ }
+
+ SampleFormat AVSampleFormatToSampleFormat(AVSampleFormat sample_format,
+@@ -415,7 +415,7 @@ bool AVCodecContextToAudioDecoderConfig(
+ // TODO(dalecurtis): Just use the profile from the codec context if ffmpeg
+ // ever starts supporting xHE-AAC.
+ constexpr uint8_t kXHEAAc = 41;
+- if (codec == kCodecAAC && codec_context->profile == FF_PROFILE_UNKNOWN ||
++ if (codec == kCodecAAC && codec_context->profile == AV_PROFILE_UNKNOWN ||
+ codec_context->profile == kXHEAAc) {
+ // Errors aren't fatal here, so just drop any MediaLog messages.
+ NullMediaLog media_log;
+@@ -537,16 +537,16 @@ bool AVStreamToVideoDecoderConfig(const
+ break;
+ case kCodecVP9:
+ switch (codec_context->profile) {
+- case FF_PROFILE_VP9_0:
++ case AV_PROFILE_VP9_0:
+ profile = VP9PROFILE_PROFILE0;
+ break;
+- case FF_PROFILE_VP9_1:
++ case AV_PROFILE_VP9_1:
+ profile = VP9PROFILE_PROFILE1;
+ break;
+- case FF_PROFILE_VP9_2:
++ case AV_PROFILE_VP9_2:
+ profile = VP9PROFILE_PROFILE2;
+ break;
+- case FF_PROFILE_VP9_3:
++ case AV_PROFILE_VP9_3:
+ profile = VP9PROFILE_PROFILE3;
+ break;
+ default:
+@@ -645,9 +645,15 @@ bool AVStreamToVideoDecoderConfig(const
+ coded_size, visible_rect, natural_size, extra_data,
+ GetEncryptionScheme(stream));
+
++#if (LIBAVFORMAT_VERSION_MAJOR < 62)
+ if (stream->nb_side_data) {
+ for (int i = 0; i < stream->nb_side_data; ++i) {
+ AVPacketSideData side_data = stream->side_data[i];
++#else
++ if (stream->codecpar->nb_coded_side_data) {
++ for (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) {
++ const auto& side_data = stream->codecpar->coded_side_data[i];
++#endif
+ if (side_data.type != AV_PKT_DATA_MASTERING_DISPLAY_METADATA)
+ continue;
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/qt5-qtwebengine.git/commitdiff/24349813dd938889d25964ff4e3058f60308f141
More information about the pld-cvs-commit
mailing list