[packages/ka5-ffmpegthumbs] - rel 4, build fix for ffmpeg9

baggins baggins at pld-linux.org
Fri Oct 23 22:55:57 CEST 2026


commit a14fc467fa93de603dc15338d2340d638e1eaf59
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Fri Oct 23 22:55:42 2026 +0200

    - rel 4, build fix for ffmpeg9

 ffmpeg9.patch         | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 ka5-ffmpegthumbs.spec |  4 +++-
 2 files changed, 53 insertions(+), 1 deletion(-)
---
diff --git a/ka5-ffmpegthumbs.spec b/ka5-ffmpegthumbs.spec
index f28476d..ca08655 100644
--- a/ka5-ffmpegthumbs.spec
+++ b/ka5-ffmpegthumbs.spec
@@ -8,11 +8,12 @@
 Summary:	Ffmpegthumbs
 Name:		ka5-%{kaname}
 Version:	23.08.5
-Release:	3
+Release:	4
 License:	GPL v2+/LGPL v2.1+
 Group:		X11/Libraries
 Source0:	https://download.kde.org/stable/release-service/%{kdeappsver}/src/%{kaname}-%{version}.tar.xz
 # Source0-md5:	a24d81c3652690a7b9f5982570416ddf
+Patch0:		ffmpeg9.patch
 URL:		http://www.kde.org/
 BuildRequires:	Qt5Core-devel >= %{qtver}
 BuildRequires:	cmake >= 3.20
@@ -38,6 +39,7 @@ Oparty na FFmpeg generator miniaturek plików wideo.
 
 %prep
 %setup -q -n %{kaname}-%{version}
+%patch -P0 -p1
 
 %build
 %cmake \
diff --git a/ffmpeg9.patch b/ffmpeg9.patch
new file mode 100644
index 0000000..cc2136e
--- /dev/null
+++ b/ffmpeg9.patch
@@ -0,0 +1,50 @@
+--- ffmpegthumbs-23.08.5/ffmpegthumbnailer/moviedecoder.cpp	2024-02-09 23:50:56.000000000 +0100
++++ ffmpegthumbs-26.08.2/ffmpegthumbnailer/moviedecoder.cpp	2026-09-27 22:26:07.000000000 +0200
+@@ -89,7 +89,7 @@
+ {
+     deleteFilterGraph();
+     if (m_pVideoCodecContext) {
+-        avcodec_close(m_pVideoCodecContext);
++        avcodec_free_context(&m_pVideoCodecContext);
+         m_pVideoCodecContext = nullptr;
+     }
+     m_pVideoStream = nullptr;
+@@ -215,7 +215,7 @@
+         }
+ 
+         ++keyFrameAttempts;
+-    } while ((!gotFrame || !m_pFrame->key_frame) && keyFrameAttempts < 200);
++    } while ((!gotFrame || !(m_pFrame->flags & AV_FRAME_FLAG_KEY)) && keyFrameAttempts < 200);
+ 
+     if (gotFrame == 0) {
+         qCDebug(ffmpegthumbs_LOG) << "Seeking in video failed";
+@@ -263,15 +263,15 @@
+         return ret;
+     }
+ 
+-    for (int i=0; i<m_pVideoStream->nb_side_data; i++) {
+-        if (m_pVideoStream->side_data[i].type != AV_PKT_DATA_DISPLAYMATRIX) {
++    for (int i=0; i<m_pVideoStream->codecpar->nb_coded_side_data; i++) {
++        if (m_pVideoStream->codecpar->coded_side_data[i].type != AV_PKT_DATA_DISPLAYMATRIX) {
+             continue;
+         }
+-        if (m_pVideoStream->side_data[i].size != sizeof(int32_t) * 9) {
+-            qCWarning(ffmpegthumbs_LOG) << "Invalid display matrix size" << m_pVideoStream->side_data[i].size << "expected" << sizeof(int32_t) * 9;
++        if (m_pVideoStream->codecpar->coded_side_data[i].size != sizeof(int32_t) * 9) {
++            qCWarning(ffmpegthumbs_LOG) << "Invalid display matrix size" << m_pVideoStream->codecpar->coded_side_data[i].size << "expected" << sizeof(int32_t) * 9;
+             continue;
+         }
+-        int32_t *matrix = reinterpret_cast<int32_t*>(m_pVideoStream->side_data[i].data);
++        int32_t *matrix = reinterpret_cast<int32_t*>(m_pVideoStream->codecpar->coded_side_data[i].data);
+         double rotation = av_display_rotation_get(matrix);
+         if (qFuzzyCompare(rotation, 0.)) {
+             ret |= QImageIOHandler::TransformationNone;
+@@ -404,7 +404,7 @@
+ 
+ void MovieDecoder::getScaledVideoFrame(int scaledSize, bool maintainAspectRatio, VideoFrame& videoFrame)
+ {
+-    if (m_pFrame->interlaced_frame) {
++    if (m_pFrame->flags & AV_FRAME_FLAG_INTERLACED) {
+         processFilterGraph((AVFrame*) m_pFrame, (AVFrame*) m_pFrame, m_pVideoCodecContext->pix_fmt,
+                               m_pVideoCodecContext->width, m_pVideoCodecContext->height);
+     }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ka5-ffmpegthumbs.git/commitdiff/a14fc467fa93de603dc15338d2340d638e1eaf59



More information about the pld-cvs-commit mailing list