Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ffmpegthumbs for openSUSE:Factory 
checked in at 2022-12-09 16:58:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ffmpegthumbs (Old)
 and      /work/SRC/openSUSE:Factory/.ffmpegthumbs.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ffmpegthumbs"

Fri Dec  9 16:58:25 2022 rev:92 rq:1041420 version:22.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ffmpegthumbs/ffmpegthumbs.changes        
2022-11-04 17:37:24.833578070 +0100
+++ /work/SRC/openSUSE:Factory/.ffmpegthumbs.new.1835/ffmpegthumbs.changes      
2022-12-09 16:58:34.796047653 +0100
@@ -1,0 +2,20 @@
+Fri Dec  2 12:24:41 UTC 2022 - Christophe Marin <[email protected]>
+
+- Update to 22.12.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/gear/22.12.0/
+
+-------------------------------------------------------------------
+Sat Nov 26 16:44:19 UTC 2022 - Christophe Giboudeaux <[email protected]>
+
+- Update to 22.11.90
+  * New feature release
+
+-------------------------------------------------------------------
+Sat Nov 12 08:53:30 UTC 2022 - Christophe Giboudeaux <[email protected]>
+
+- Update to 22.11.80
+  * New feature release
+
+-------------------------------------------------------------------

Old:
----
  ffmpegthumbs-22.08.3.tar.xz
  ffmpegthumbs-22.08.3.tar.xz.sig

New:
----
  ffmpegthumbs-22.12.0.tar.xz
  ffmpegthumbs-22.12.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ffmpegthumbs.spec ++++++
--- /var/tmp/diff_new_pack.hVIVd8/_old  2022-12-09 16:58:35.280050049 +0100
+++ /var/tmp/diff_new_pack.hVIVd8/_new  2022-12-09 16:58:35.288050089 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ffmpegthumbs
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,11 +20,10 @@
 %{!?_kapp_version: %define _kapp_version %(echo %{version}| awk -F. '{print 
$1"."$2}')}
 %bcond_without released
 Name:           ffmpegthumbs
-Version:        22.08.3
+Version:        22.12.0
 Release:        0
 Summary:        FFmpeg-based thumbnail creator for video files
 License:        LGPL-2.0-or-later
-Group:          System/GUI/KDE
 URL:            https://www.kde.org
 Source:         
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz
 %if %{with released}


++++++ ffmpegthumbs-22.08.3.tar.xz -> ffmpegthumbs-22.12.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-22.08.3/.gitlab-ci.yml 
new/ffmpegthumbs-22.12.0/.gitlab-ci.yml
--- old/ffmpegthumbs-22.08.3/.gitlab-ci.yml     2022-10-30 22:04:17.000000000 
+0100
+++ new/ffmpegthumbs-22.12.0/.gitlab-ci.yml     2022-11-30 01:11:43.000000000 
+0100
@@ -3,4 +3,6 @@
 
 include:
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux-qt6.yml
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd-qt6.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-22.08.3/CMakeLists.txt 
new/ffmpegthumbs-22.12.0/CMakeLists.txt
--- old/ffmpegthumbs-22.08.3/CMakeLists.txt     2022-10-30 22:04:17.000000000 
+0100
+++ new/ffmpegthumbs-22.12.0/CMakeLists.txt     2022-11-30 01:11:43.000000000 
+0100
@@ -2,8 +2,8 @@
 
 # Release Service version, managed by release script
 set(RELEASE_SERVICE_VERSION_MAJOR "22")
-set(RELEASE_SERVICE_VERSION_MINOR "08")
-set(RELEASE_SERVICE_VERSION_MICRO "3")
+set(RELEASE_SERVICE_VERSION_MINOR "12")
+set(RELEASE_SERVICE_VERSION_MICRO "0")
 
 set(RELEASE_SERVICE_VERSION 
"${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 
@@ -22,10 +22,9 @@
 include(ECMQtDeclareLoggingCategory)
 include(FeatureSummary)
 
-find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui)
+find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED 
COMPONENTS Core Gui)
 find_package(KF5 ${KF_MIN_VERSION} REQUIRED COMPONENTS KIO I18n Config)
 find_package(FFmpeg COMPONENTS AVCODEC AVFORMAT SWSCALE)
-find_package(Taglib REQUIRED)
 
 include_directories(
     ${FFMPEG_INCLUDE_DIRS}
@@ -57,7 +56,7 @@
 
 kconfig_add_kcfg_files(ffmpegthumbs ffmpegthumbnailersettings5.kcfgc)
 
-target_link_libraries(ffmpegthumbs Qt5::Core Qt5::Gui KF5::KIOWidgets 
KF5::KIOCore KF5::I18n KF5::ConfigCore KF5::ConfigGui ${AVUTIL_LIBRARIES} 
${AVFILTER_LIBRARIES} ${AVFORMAT_LIBRARIES} ${AVCODEC_LIBRARIES} 
${SWSCALE_LIBRARIES} Taglib::Taglib )
+target_link_libraries(ffmpegthumbs Qt::Core Qt::Gui KF5::KIOWidgets 
KF5::KIOCore KF5::I18n KF5::ConfigCore KF5::ConfigGui ${AVUTIL_LIBRARIES} 
${AVFILTER_LIBRARIES} ${AVFORMAT_LIBRARIES} ${AVCODEC_LIBRARIES} 
${SWSCALE_LIBRARIES})
 
 install(FILES ffmpegthumbnailersettings5.kcfg DESTINATION 
${KDE_INSTALL_KCFGDIR})
 install(TARGETS ffmpegthumbs DESTINATION ${KDE_INSTALL_PLUGINDIR})
@@ -69,7 +68,7 @@
 
 ########### install files ###############
 
-install(FILES  ffmpegthumbs.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR})
+install(FILES  ffmpegthumbs.desktop DESTINATION ${KDE_INSTALL_KSERVICESDIR})
 
 install(FILES org.kde.ffmpegthumbs.metainfo.xml
         DESTINATION ${KDE_INSTALL_METAINFODIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/imagewriter.cpp 
new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/imagewriter.cpp
--- old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/imagewriter.cpp  2022-10-30 
22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/imagewriter.cpp  2022-11-30 
01:11:43.000000000 +0100
@@ -7,6 +7,8 @@
 #include "imagewriter.h"
 #include <iostream>
 
+extern void qt_imageTransform(QImage &src, QImageIOHandler::Transformations 
transforms);
+
 using namespace std;
 
 namespace ffmpegthumbnailer
@@ -16,7 +18,7 @@
 {
 }
 
-void ImageWriter::writeFrame(VideoFrame& frame,  QImage& image)
+void ImageWriter::writeFrame(VideoFrame& frame, QImage& image, const 
QImageIOHandler::Transformations transformations)
 {
     QImage previewImage(frame.width, frame.height, QImage::Format_RGB888);
     for (quint32 y = 0; y < frame.height; y++) {
@@ -24,6 +26,8 @@
         memcpy(previewImage.scanLine(y), &frame.frameData[y*frame.lineSize], 
frame.width*3);
     }
 
+    qt_imageTransform(previewImage, transformations);
+
     image = previewImage;
 }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/imagewriter.h 
new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/imagewriter.h
--- old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/imagewriter.h    2022-10-30 
22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/imagewriter.h    2022-11-30 
01:11:43.000000000 +0100
@@ -11,6 +11,7 @@
 #include <string>
 #include <inttypes.h>
 #include <QImage>
+#include <QImageIOHandler>
 
 namespace ffmpegthumbnailer
 {
@@ -21,7 +22,7 @@
     ImageWriter();
     virtual ~ImageWriter() {}
 
-    virtual void writeFrame(VideoFrame& frame, QImage& image);
+    virtual void writeFrame(VideoFrame& frame, QImage& image, const 
QImageIOHandler::Transformations transformations);
 };
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/moviedecoder.cpp 
new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/moviedecoder.cpp
--- old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/moviedecoder.cpp 2022-10-30 
22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/moviedecoder.cpp 2022-11-30 
01:11:43.000000000 +0100
@@ -5,12 +5,14 @@
 */
 
 #include "moviedecoder.h"
+#include "ffmpegthumbs_debug.h"
 
 #include <QDebug>
 #include <QFileInfo>
 
 extern "C" {
 #include <libswscale/swscale.h>
+#include <libavutil/display.h>
 #include <libavutil/imgutils.h>
 }
 
@@ -57,12 +59,12 @@
     QFileInfo fileInfo(filename);
 
     if ((!m_FormatContextWasGiven) && avformat_open_input(&m_pFormatContext, 
fileInfo.absoluteFilePath().toLocal8Bit().data(), nullptr, nullptr) != 0) {
-        qDebug() <<  "Could not open input file: " << 
fileInfo.absoluteFilePath();
+        qCDebug(ffmpegthumbs_LOG) <<  "Could not open input file: " << 
fileInfo.absoluteFilePath();
         return;
     }
 
     if (avformat_find_stream_info(m_pFormatContext, nullptr) < 0) {
-        qDebug() << "Could not find stream information";
+        qCDebug(ffmpegthumbs_LOG) << "Could not find stream information";
         return;
     }
 
@@ -90,6 +92,7 @@
         avcodec_close(m_pVideoCodecContext);
         m_pVideoCodecContext = nullptr;
     }
+    m_pVideoStream = nullptr;
 
     if ((!m_FormatContextWasGiven) && m_pFormatContext) {
         avformat_close_input(&m_pFormatContext);
@@ -126,24 +129,25 @@
 {
     m_VideoStream = av_find_best_stream(m_pFormatContext, AVMEDIA_TYPE_VIDEO, 
-1, -1, &m_pVideoCodec, 0);
     if (m_VideoStream < 0) {
-        qDebug() << "Could not find video stream";
+        qCDebug(ffmpegthumbs_LOG) << "Could not find video stream";
         return false;
     }
 
     m_pVideoCodecContext = avcodec_alloc_context3(m_pVideoCodec);
-    avcodec_parameters_to_context(m_pVideoCodecContext, 
m_pFormatContext->streams[m_VideoStream]->codecpar);
+    m_pVideoStream = m_pFormatContext->streams[m_VideoStream];
+    avcodec_parameters_to_context(m_pVideoCodecContext, 
m_pVideoStream->codecpar);
 
     if (m_pVideoCodec == nullptr) {
         // set to nullptr, otherwise avcodec_close(m_pVideoCodecContext) 
crashes
         m_pVideoCodecContext = nullptr;
-        qDebug() << "Video Codec not found";
+        qCDebug(ffmpegthumbs_LOG) << "Video Codec not found";
         return false;
     }
 
     m_pVideoCodecContext->workaround_bugs = 1;
 
     if (avcodec_open2(m_pVideoCodecContext, m_pVideoCodec, nullptr) < 0) {
-        qDebug() << "Could not open video codec";
+        qCDebug(ffmpegthumbs_LOG) << "Could not open video codec";
         return false;
     }
 
@@ -193,7 +197,7 @@
     if (ret >= 0) {
         avcodec_flush_buffers(m_pVideoCodecContext);
     } else {
-        qDebug() << "Seeking in video failed";
+        qCDebug(ffmpegthumbs_LOG) << "Seeking in video failed";
         return;
     }
 
@@ -214,7 +218,7 @@
     } while ((!gotFrame || !m_pFrame->key_frame) && keyFrameAttempts < 200);
 
     if (gotFrame == 0) {
-        qDebug() << "Seeking in video failed";
+        qCDebug(ffmpegthumbs_LOG) << "Seeking in video failed";
     }
 }
 
@@ -228,7 +232,7 @@
     }
 
     if (!frameFinished) {
-        qDebug() << "decodeVideoFrame() failed: frame not finished";
+        qCDebug(ffmpegthumbs_LOG) << "decodeVideoFrame() failed: frame not 
finished";
     }
 
     return frameFinished;
@@ -251,6 +255,41 @@
     return true;
 }
 
+QImageIOHandler::Transformations MovieDecoder::transformations()
+{
+    QImageIOHandler::Transformations ret = QImageIOHandler::TransformationNone;
+    if (!m_pVideoStream) {
+        qCWarning(ffmpegthumbs_LOG) << "No video stream!";
+        return ret;
+    }
+
+    for (int i=0; i<m_pVideoStream->nb_side_data; i++) {
+        if (m_pVideoStream->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;
+            continue;
+        }
+        int32_t *matrix = 
reinterpret_cast<int32_t*>(m_pVideoStream->side_data[i].data);
+        double rotation = av_display_rotation_get(matrix);
+        if (qFuzzyCompare(rotation, 0.)) {
+            ret |= QImageIOHandler::TransformationNone;
+        } else if (qFuzzyCompare(rotation, 90.)) {
+            ret |= QImageIOHandler::TransformationRotate270;
+        } else if (qFuzzyCompare(rotation, 180.) || qFuzzyCompare(rotation, 
-180.)) {
+            ret |= QImageIOHandler::TransformationRotate180;
+        } else if (qFuzzyCompare(rotation, -90.)) {
+            ret |= QImageIOHandler::TransformationRotate90;
+        } else {
+            qCWarning(ffmpegthumbs_LOG) << "Unhandled rotation" << rotation;
+            continue;
+        }
+    }
+    return ret;
+}
+
+
 bool MovieDecoder::getVideoPacket()
 {
     bool framesAvailable = true;
@@ -303,7 +342,7 @@
 
     int ret = avfilter_graph_parse2(m_filterGraph, arguments.constData(), 
&inputs, &outputs);
     if (ret < 0) {
-        qWarning() << "Unable to parse filter graph";
+        qCWarning(ffmpegthumbs_LOG) << "Unable to parse filter graph";
         return false;
     }
 
@@ -312,14 +351,14 @@
 
     ret = avfilter_graph_config(m_filterGraph, nullptr);
     if (ret < 0) {
-        qWarning() << "Unable to validate filter graph";
+        qCWarning(ffmpegthumbs_LOG) << "Unable to validate filter graph";
         return false;
     }
 
     m_bufferSourceContext = avfilter_graph_get_filter(m_filterGraph, 
"Parsed_buffer_0");
     m_bufferSinkContext = avfilter_graph_get_filter(m_filterGraph, 
"Parsed_buffersink_2");
     if (!m_bufferSourceContext || !m_bufferSinkContext) {
-        qWarning() << "Unable to get source or sink";
+        qCWarning(ffmpegthumbs_LOG) << "Unable to get source or sink";
         return false;
     }
     m_filterFrame = av_frame_alloc();
@@ -394,7 +433,7 @@
                                format, SWS_BICUBIC, nullptr, nullptr, nullptr);
 
     if (nullptr == scaleContext) {
-        qDebug() << "Failed to create resize context";
+        qCDebug(ffmpegthumbs_LOG) << "Failed to create resize context";
         return;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/moviedecoder.h 
new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/moviedecoder.h
--- old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/moviedecoder.h   2022-10-30 
22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/moviedecoder.h   2022-11-30 
01:11:43.000000000 +0100
@@ -9,6 +9,7 @@
 
 #include "videoframe.h"
 #include <QString>
+#include <QImageIOHandler>
 
 extern "C" {
 #include <libavcodec/avcodec.h>
@@ -40,6 +41,8 @@
     void destroy();
     bool getInitialized();
 
+    QImageIOHandler::Transformations transformations();
+
 private:
     bool initializeVideo();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/videothumbnailer.cpp 
new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/videothumbnailer.cpp
--- old/ffmpegthumbs-22.08.3/ffmpegthumbnailer/videothumbnailer.cpp     
2022-10-30 22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/ffmpegthumbnailer/videothumbnailer.cpp     
2022-11-30 01:11:43.000000000 +0100
@@ -107,7 +107,7 @@
         }
         
         applyFilters(videoFrame);
-        imageWriter.writeFrame(videoFrame, image);
+        imageWriter.writeFrame(videoFrame, image, 
movieDecoder.transformations());
     }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-22.08.3/ffmpegthumbnailer.cpp 
new/ffmpegthumbs-22.12.0/ffmpegthumbnailer.cpp
--- old/ffmpegthumbs-22.08.3/ffmpegthumbnailer.cpp      2022-10-30 
22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/ffmpegthumbnailer.cpp      2022-11-30 
01:11:43.000000000 +0100
@@ -11,17 +11,16 @@
 
 #include <limits>
 
-#include <mp4file.h>
-
 #include <QCheckBox>
 #include <QFormLayout>
 #include <QImage>
 #include <QLineEdit>
-#include <QRegExpValidator>
 #include <QSpinBox>
 #include <KLocalizedString>
 
 extern "C" {
+#include <libavformat/avformat.h>
+#include <libavutil/dict.h>
 #include <libavutil/log.h>
 }
 
@@ -116,23 +115,55 @@
 
     // Try reading thumbnail embedded into video file
     QByteArray ba = path.toLocal8Bit();
-    TagLib::MP4::File f(ba.data(), false);
+    AVFormatContext* ct = avformat_alloc_context();
+    AVPacket* pic = nullptr;
 
     // No matter the seqIdx, we have to know if the video has an embedded 
cover, even if we then don't return
     // it. We could cache it to avoid repeating this for higher seqIdx values, 
but this should be fast enough
     // to not be noticeable and caching adds unnecessary complexity.
-    if (f.isValid()) {
-        TagLib::MP4::Tag* tag = f.tag();
-        TagLib::MP4::ItemListMap itemsListMap = tag->itemListMap();
-        TagLib::MP4::Item coverItem = itemsListMap["covr"];
-        TagLib::MP4::CoverArtList coverArtList = coverItem.toCoverArtList();
-
-        if (!coverArtList.isEmpty()) {
-            TagLib::MP4::CoverArt coverArt = coverArtList.front();
-            img.loadFromData((const uchar *)coverArt.data().data(),
-                         coverArt.data().size());
+    if (ct && !avformat_open_input(&ct,ba.data(), nullptr, nullptr)) {
+
+        // Using an priority system based on size or filename (matroska 
specification) to select the most suitable picture
+        int bestPrio = 0;
+        for (size_t i = 0; i < ct->nb_streams; ++i) {
+            if (ct->streams[i]->disposition & AV_DISPOSITION_ATTACHED_PIC) {
+                int prio = 0;
+                AVDictionaryEntry* fname = 
av_dict_get(ct->streams[i]->metadata, "filename", nullptr ,0);
+                if (fname) {
+                    QString filename(fname->value);
+                    QString noextname = filename.section('.', 0);
+                    // Prefer landscape and larger
+                    if (noextname == "cover_land") {
+                        prio = std::numeric_limits<int>::max();
+                    }
+                    else if (noextname == "small_cover_land") {
+                        prio = std::numeric_limits<int>::max()-1;
+                    }
+                    else if (noextname == "cover") {
+                        prio = std::numeric_limits<int>::max()-2;
+                    }
+                    else if (noextname == "small_cover") {
+                        prio = std::numeric_limits<int>::max()-3;
+                    }
+                    else {
+                        prio = ct->streams[i]->attached_pic.size;
+                    }
+                }
+                else {
+                    prio = ct->streams[i]->attached_pic.size;
+                }
+                if (prio > bestPrio) {
+                    pic = &(ct->streams[i]->attached_pic);
+                    bestPrio = prio;
+                }
+            }
         }
     }
+    
+    if (pic) {
+        img.loadFromData(pic->data, pic->size);
+    }
+    avformat_close_input(&ct);
 
     if (!img.isNull()) {
         // Video file has an embedded thumbnail -> return it for seqIdx=0 and 
shift the regular
@@ -172,11 +203,6 @@
     return false;
 }
 
-ThumbCreator::Flags FFMpegThumbnailer::flags() const
-{
-    return (Flags)(None);
-}
-
 void FFMpegThumbnailer::updateSequenceIndexWraparoundPoint(float offset)
 {
     float wraparoundPoint = offset;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-22.08.3/ffmpegthumbnailer.h 
new/ffmpegthumbs-22.12.0/ffmpegthumbnailer.h
--- old/ffmpegthumbs-22.08.3/ffmpegthumbnailer.h        2022-10-30 
22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/ffmpegthumbnailer.h        2022-11-30 
01:11:43.000000000 +0100
@@ -30,7 +30,6 @@
     FFMpegThumbnailer();
     ~FFMpegThumbnailer() override;
     bool create(const QString& path, int width, int height, QImage& img) 
override;
-    Flags flags() const override;
 
 private:
     void updateSequenceIndexWraparoundPoint(float offset);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-22.08.3/ffmpegthumbs.desktop 
new/ffmpegthumbs-22.12.0/ffmpegthumbs.desktop
--- old/ffmpegthumbs-22.08.3/ffmpegthumbs.desktop       2022-10-30 
22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/ffmpegthumbs.desktop       2022-11-30 
01:11:43.000000000 +0100
@@ -2,7 +2,6 @@
 Type=Service
 Name=Video Files (ffmpegthumbs)
 Name[ar]=ملفّات الفيديو (ffmpegthumbs)
-Name[ast]=Ficheros de videu (ffmpegthumbs)
 Name[bg]=Видео файлове (ffmpegthumbs)
 Name[bs]=Video datoteke (ffmpegthumbs)
 Name[ca]=Fitxers de vídeo (ffmpegthumbs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-22.08.3/org.kde.ffmpegthumbs.metainfo.xml 
new/ffmpegthumbs-22.12.0/org.kde.ffmpegthumbs.metainfo.xml
--- old/ffmpegthumbs-22.08.3/org.kde.ffmpegthumbs.metainfo.xml  2022-10-30 
22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/org.kde.ffmpegthumbs.metainfo.xml  2022-11-30 
01:11:43.000000000 +0100
@@ -133,9 +133,9 @@
     </screenshot>
   </screenshots>
   <releases>
+    <release version="22.12.0" date="2022-12-08"/>
     <release version="22.08.3" date="2022-11-03"/>
     <release version="22.08.2" date="2022-10-13"/>
     <release version="22.08.1" date="2022-09-08"/>
-    <release version="22.08.0" date="2022-08-18"/>
   </releases>
 </component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-22.08.3/tests/CMakeLists.txt 
new/ffmpegthumbs-22.12.0/tests/CMakeLists.txt
--- old/ffmpegthumbs-22.08.3/tests/CMakeLists.txt       2022-10-30 
22:04:17.000000000 +0100
+++ new/ffmpegthumbs-22.12.0/tests/CMakeLists.txt       2022-11-30 
01:11:43.000000000 +0100
@@ -21,7 +21,7 @@
 
 target_include_directories(ffmpegthumbtest PRIVATE ..)
 
-target_link_libraries(ffmpegthumbtest Qt5::Core Qt5::Gui KF5::KIOWidgets 
KF5::KIOCore KF5::I18n KF5::ConfigCore KF5::ConfigGui ${AVUTIL_LIBRARIES} 
${AVFILTER_LIBRARIES} ${AVFORMAT_LIBRARIES} ${AVCODEC_LIBRARIES} 
${SWSCALE_LIBRARIES} Taglib::Taglib)
+target_link_libraries(ffmpegthumbtest Qt::Core Qt::Gui KF5::KIOWidgets 
KF5::KIOCore KF5::I18n KF5::ConfigCore KF5::ConfigGui ${AVUTIL_LIBRARIES} 
${AVFILTER_LIBRARIES} ${AVFORMAT_LIBRARIES} ${AVCODEC_LIBRARIES} 
${SWSCALE_LIBRARIES})
 
 
 

Reply via email to