Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ffmpegthumbs for openSUSE:Factory checked in at 2023-08-31 13:42:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ffmpegthumbs (Old) and /work/SRC/openSUSE:Factory/.ffmpegthumbs.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ffmpegthumbs" Thu Aug 31 13:42:54 2023 rev:100 rq:1105624 version:23.08.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ffmpegthumbs/ffmpegthumbs.changes 2023-07-07 15:46:31.331910668 +0200 +++ /work/SRC/openSUSE:Factory/.ffmpegthumbs.new.1766/ffmpegthumbs.changes 2023-08-31 13:43:54.872355705 +0200 @@ -1,0 +2,22 @@ +Sun Aug 20 13:58:59 UTC 2023 - Christophe Marin <[email protected]> + +- Update to 23.08.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/gear/23.08.0/ +- No code change since 23.07.90 + +------------------------------------------------------------------- +Mon Aug 14 08:02:16 UTC 2023 - Christophe Marin <[email protected]> + +- Update to 23.07.90 + * New feature release +- No code change since 23.07.80 + +------------------------------------------------------------------- +Tue Aug 1 10:21:23 UTC 2023 - Christophe Marin <[email protected]> + +- Update to 23.07.80 + * New feature release + +------------------------------------------------------------------- Old: ---- ffmpegthumbs-23.04.3.tar.xz ffmpegthumbs-23.04.3.tar.xz.sig New: ---- ffmpegthumbs-23.08.0.tar.xz ffmpegthumbs-23.08.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ffmpegthumbs.spec ++++++ --- /var/tmp/diff_new_pack.Xwpvmv/_old 2023-08-31 13:43:57.244440489 +0200 +++ /var/tmp/diff_new_pack.Xwpvmv/_new 2023-08-31 13:43:57.248440632 +0200 @@ -18,7 +18,7 @@ %bcond_without released Name: ffmpegthumbs -Version: 23.04.3 +Version: 23.08.0 Release: 0 Summary: FFmpeg-based thumbnail creator for video files License: LGPL-2.0-or-later @@ -63,6 +63,5 @@ %{_kf5_configkcfgdir}/ffmpegthumbnailersettings5.kcfg %{_kf5_debugdir}/ffmpegthumbs.categories %{_kf5_plugindir}/ -%{_kf5_servicesdir}/ %changelog ++++++ ffmpegthumbs-23.04.3.tar.xz -> ffmpegthumbs-23.08.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ffmpegthumbs-23.04.3/.gitignore new/ffmpegthumbs-23.08.0/.gitignore --- old/ffmpegthumbs-23.04.3/.gitignore 2023-06-30 00:30:20.000000000 +0200 +++ new/ffmpegthumbs-23.08.0/.gitignore 2023-08-16 23:01:07.000000000 +0200 @@ -9,3 +9,4 @@ .cache .clangd compile_commands.json +.clang-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ffmpegthumbs-23.04.3/.kde-ci.yml new/ffmpegthumbs-23.08.0/.kde-ci.yml --- old/ffmpegthumbs-23.04.3/.kde-ci.yml 2023-06-30 00:30:20.000000000 +0200 +++ new/ffmpegthumbs-23.08.0/.kde-ci.yml 2023-08-16 23:01:07.000000000 +0200 @@ -2,9 +2,16 @@ # SPDX-License-Identifier: CC0-1.0 Dependencies: -- 'on': ['@all'] +- 'on': ['Linux/Qt5', 'FreeBSD/Qt5', 'Windows/Qt5'] 'require': 'frameworks/extra-cmake-modules': '@stable' 'frameworks/kio': '@stable' 'frameworks/ki18n': '@stable' 'frameworks/kconfig': '@stable' + +- 'on': ['Linux/Qt6', 'FreeBSD/Qt6', 'Windows/Qt6'] + 'require': + 'frameworks/extra-cmake-modules': '@latest-kf6' + 'frameworks/kio': '@latest-kf6' + 'frameworks/ki18n': '@latest-kf6' + 'frameworks/kconfig': '@latest-kf6' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ffmpegthumbs-23.04.3/CMakeLists.txt new/ffmpegthumbs-23.08.0/CMakeLists.txt --- old/ffmpegthumbs-23.04.3/CMakeLists.txt 2023-06-30 00:30:20.000000000 +0200 +++ new/ffmpegthumbs-23.08.0/CMakeLists.txt 2023-08-16 23:01:07.000000000 +0200 @@ -2,8 +2,8 @@ # Release Service version, managed by release script set(RELEASE_SERVICE_VERSION_MAJOR "23") -set(RELEASE_SERVICE_VERSION_MINOR "04") -set(RELEASE_SERVICE_VERSION_MICRO "3") +set(RELEASE_SERVICE_VERSION_MINOR "08") +set(RELEASE_SERVICE_VERSION_MICRO "0") set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") @@ -24,7 +24,7 @@ include(ECMDeprecationSettings) 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(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS KIO I18n Config) find_package(FFmpeg COMPONENTS AVCODEC AVFORMAT SWSCALE) include_directories( @@ -40,7 +40,7 @@ KF 5.81 ) -add_library(ffmpegthumbs MODULE) +kcoreaddons_add_plugin(ffmpegthumbs INSTALL_NAMESPACE "kf${QT_MAJOR_VERSION}/thumbcreator") target_sources(ffmpegthumbs PRIVATE ffmpegthumbnailer.cpp @@ -66,10 +66,22 @@ kconfig_add_kcfg_files(ffmpegthumbs ffmpegthumbnailersettings5.kcfgc) -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}) +target_link_libraries(ffmpegthumbs + Qt::Core + Qt::Gui + KF${QT_MAJOR_VERSION}::KIOWidgets + KF${QT_MAJOR_VERSION}::KIOCore + KF${QT_MAJOR_VERSION}::I18n + KF${QT_MAJOR_VERSION}::ConfigCore + KF${QT_MAJOR_VERSION}::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}) ecm_qt_install_logging_categories( EXPORT ffmpegthumbs @@ -78,8 +90,6 @@ ########### install files ############### -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-23.04.3/ffmpegthumbnailer.cpp new/ffmpegthumbs-23.08.0/ffmpegthumbnailer.cpp --- old/ffmpegthumbs-23.04.3/ffmpegthumbnailer.cpp 2023-06-30 00:30:20.000000000 +0200 +++ new/ffmpegthumbs-23.08.0/ffmpegthumbnailer.cpp 2023-08-16 23:01:07.000000000 +0200 @@ -11,12 +11,13 @@ #include <limits> +#include <KLocalizedString> +#include <KPluginFactory> #include <QCheckBox> #include <QFormLayout> #include <QImage> #include <QLineEdit> #include <QSpinBox> -#include <KLocalizedString> extern "C" { #include <libavformat/avformat.h> @@ -60,38 +61,23 @@ }; } //namespace -extern "C" -{ - Q_DECL_EXPORT ThumbCreator *new_creator() - { - // This is a threadsafe way to ensure that we only register it once - static FFmpegLogHandler handler; - - return new FFMpegThumbnailer(); - } -} - -FFMpegThumbnailer::FFMpegThumbnailer() +FFMpegThumbnailer::FFMpegThumbnailer(QObject *parent, const QVariantList &args) + : KIO::ThumbnailCreator(parent, args) { FFMpegThumbnailerSettings* settings = FFMpegThumbnailerSettings::self(); if (settings->filmstrip()) { m_Thumbnailer.addFilter(&m_FilmStrip); } m_thumbCache.setMaxCost(settings->cacheSize()); - - // Assume that the video file has an embedded thumb, in which case it gets inserted before the - // regular seek percentage-based thumbs. If we find out that the video doesn't have one, we can - // correct that overestimation. - updateSequenceIndexWraparoundPoint(1.0f); } FFMpegThumbnailer::~FFMpegThumbnailer() { } -bool FFMpegThumbnailer::create(const QString& path, int width, int /*height*/, QImage& img) +KIO::ThumbnailResult FFMpegThumbnailer::create(const KIO::ThumbnailRequest &request) { - int seqIdx = static_cast<int>(sequenceIndex()); + int seqIdx = static_cast<int>(request.sequenceIndex()); if (seqIdx < 0) { seqIdx = 0; } @@ -105,12 +91,12 @@ // later if we don't have one. seqIdx %= static_cast<int>(seekPercentages.size()) + 1; - const QString cacheKey = QStringLiteral("%1$%2@%3").arg(path).arg(seqIdx).arg(width); + const QString path = request.url().toLocalFile(); + const QString cacheKey = QStringLiteral("%1$%2@%3").arg(path).arg(request.sequenceIndex()).arg(request.targetSize().width()); QImage* cachedImg = m_thumbCache[cacheKey]; if (cachedImg) { - img = *cachedImg; - return true; + return pass(*cachedImg); } // Try reading thumbnail embedded into video file @@ -159,59 +145,68 @@ } } } - + + auto res = KIO::ThumbnailResult::fail(); if (pic) { + QImage img; img.loadFromData(pic->data, pic->size); + res = pass(img); } avformat_close_input(&ct); - if (!img.isNull()) { + float wraparoundPoint = 1.0f; + if (!res.image().isNull()) { // Video file has an embedded thumbnail -> return it for seqIdx=0 and shift the regular // seek percentages one to the right - updateSequenceIndexWraparoundPoint(1.0f); + res.setSequenceIndexWraparoundPoint(updatedSequenceIndexWraparoundPoint(1.0f)); if (seqIdx == 0) { - return true; + return res; } seqIdx--; } else { - updateSequenceIndexWraparoundPoint(0.0f); + wraparoundPoint = updatedSequenceIndexWraparoundPoint(0.0f); } // The previous modulo could be wrong now if the video had an embedded thumbnail. seqIdx %= seekPercentages.size(); - m_Thumbnailer.setThumbnailSize(width); + m_Thumbnailer.setThumbnailSize(request.targetSize().width()); m_Thumbnailer.setSeekPercentage(seekPercentages[seqIdx]); //Smart frame selection is very slow compared to the fixed detection //TODO: Use smart detection if the image is single colored. //m_Thumbnailer.setSmartFrameSelection(true); + QImage img; m_Thumbnailer.generateThumbnail(path, img); if (!img.isNull()) { // seqIdx 0 will be served from KIO's regular thumbnail cache. - if (static_cast<int>(sequenceIndex()) != 0) { + if (static_cast<int>(request.sequenceIndex()) != 0) { const int cacheCost = static_cast<int>((img.sizeInBytes() + 1023) / 1024); m_thumbCache.insert(cacheKey, new QImage(img), cacheCost); } - return true; + return pass(img, wraparoundPoint); } - return false; + return KIO::ThumbnailResult::fail(); } -void FFMpegThumbnailer::updateSequenceIndexWraparoundPoint(float offset) +float FFMpegThumbnailer::updatedSequenceIndexWraparoundPoint(float offset) { float wraparoundPoint = offset; - if (!FFMpegThumbnailerSettings::sequenceSeekPercentages().isEmpty()) { wraparoundPoint += FFMpegThumbnailerSettings::sequenceSeekPercentages().size(); } else { wraparoundPoint += 1.0f; } - setSequenceIndexWraparoundPoint(wraparoundPoint); + return wraparoundPoint; } + +K_PLUGIN_CLASS_WITH_JSON(FFMpegThumbnailer, "ffmpegthumbs.json") + +#include "ffmpegthumbnailer.moc" +#include "moc_ffmpegthumbnailer.cpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ffmpegthumbs-23.04.3/ffmpegthumbnailer.h new/ffmpegthumbs-23.08.0/ffmpegthumbnailer.h --- old/ffmpegthumbs-23.04.3/ffmpegthumbnailer.h 2023-06-30 00:30:20.000000000 +0200 +++ new/ffmpegthumbs-23.08.0/ffmpegthumbnailer.h 2023-08-16 23:01:07.000000000 +0200 @@ -7,10 +7,9 @@ #ifndef KFFMPEG_THUMBNAILER_H #define KFFMPEG_THUMBNAILER_H -#include <QObject> +#include <KIO/ThumbnailCreator> #include <QCache> -// KF -#include <KIO/ThumbSequenceCreator> +#include <QObject> #include <ffmpegthumbnailer/videothumbnailer.h> #include <ffmpegthumbnailer/filmstripfilter.h> @@ -19,7 +18,7 @@ class QLineEdit; class QSpinBox; -class FFMpegThumbnailer : public QObject, public ThumbSequenceCreator +class FFMpegThumbnailer : public KIO::ThumbnailCreator { Q_OBJECT @@ -27,12 +26,22 @@ typedef QCache<QString, QImage> ThumbCache; public: - FFMpegThumbnailer(); + explicit FFMpegThumbnailer(QObject *parent, const QVariantList &args); ~FFMpegThumbnailer() override; - bool create(const QString& path, int width, int height, QImage& img) override; + KIO::ThumbnailResult create(const KIO::ThumbnailRequest &request) override; private: - void updateSequenceIndexWraparoundPoint(float offset); + float updatedSequenceIndexWraparoundPoint(float offset); + + // Assume that the video file has an embedded thumb, in which case it gets inserted before the + // regular seek percentage-based thumbs. If we find out that the video doesn't have one, we can + // correct that overestimation. + KIO::ThumbnailResult pass(const QImage &img, float sequenceIndexWraparoundPoint = 1.0f) + { + auto res = KIO::ThumbnailResult::pass(img); + res.setSequenceIndexWraparoundPoint(sequenceIndexWraparoundPoint); + return res; + } private: ffmpegthumbnailer::VideoThumbnailer m_Thumbnailer; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ffmpegthumbs-23.04.3/ffmpegthumbs.desktop new/ffmpegthumbs-23.08.0/ffmpegthumbs.desktop --- old/ffmpegthumbs-23.04.3/ffmpegthumbs.desktop 2023-06-30 00:30:20.000000000 +0200 +++ new/ffmpegthumbs-23.08.0/ffmpegthumbs.desktop 1970-01-01 01:00:00.000000000 +0100 @@ -1,65 +0,0 @@ -[Desktop Entry] -Type=Service -Name=Video Files (ffmpegthumbs) -Name[ar]=Ù ÙÙÙØ§Øª اÙÙÙØ¯ÙÙ (ffmpegthumbs) -Name[bg]=Ðидео Ñайлове (ffmpegthumbs) -Name[bs]=Video datoteke (ffmpegthumbs) -Name[ca]=Fitxers de vÃdeo (ffmpegthumbs) -Name[ca@valencia]=Fitxers de vÃdeo (ffmpegthumbs) -Name[cs]=Soubory videa (ffmpegthumbs) -Name[da]=Videofiler (ffmpegthumbs) -Name[de]=Videodateien (ffmpegthumbs) -Name[el]=ÎÏÏεία βίνÏεο (ffmpegthumbs) -Name[en_GB]=Video Files (ffmpegthumbs) -Name[es]=Archivos de vÃdeo (ffmpegthumbs) -Name[et]=Videofailid (ffmpegthumbs) -Name[eu]=Bideo fitxategiak (ffmpeg koadro-txikiak) -Name[fi]=Videotiedostot (ffmpegthumbs) -Name[fr]=Fichiers vidéo (ffmpegthumbs) -Name[ga]=Comhaid FhÃse (ffmpegthumbs) -Name[gl]=Ficheiros de vÃdeo (ffmpegthumbs) -Name[hi]=à¤à¤²à¤à¤¿à¤¤à¥à¤° फ़ाà¤à¤² (à¤à¤«à¤¼à¤à¤«à¤¼à¤à¤®à¤ªà¥à¤à¤¥à¤®à¥à¤¬à¤¸) -Name[hu]=Videofájlok (ffmpegthumbs) -Name[ia]=Files Video (ffmpegthumbs) -Name[id]=File-file Video (ffmpegthumbs) -Name[is]=VÃdeóskrár (ffmpegthumbs) -Name[it]=File video (ffmpegthumbs) -Name[ja]=åç»ãã¡ã¤ã« (ffmpegthumbs) -Name[ka]=ááááá á¤áááááá (ffmpegthumbs) -Name[kk]=Ðидео ÑÐ°Ð¹Ð»Ð´Ð°Ñ (ffmpegthumbs) -Name[km]=á¯ááá¶áâáá¸ááá¢á¼ (ffmpegthumbs) -Name[ko]=ëìì íì¼ (ffmpegthumbs) -Name[lt]=Video failai (ffmpegthumbs) -Name[mr]=वà¥à¤¹à¤¿à¤¡à¥à¤ फाà¤à¤²à¥à¤¸ (ffmpegthumbs) -Name[nb]=Videofiler (ffmpegthumbs) -Name[nds]=Videodateien (ffmpeg-Vöransichten) -Name[nl]=Videobestanden (ffmpeg-miniaturen) -Name[nn]=Videofiler (ffmpegthumbs) -Name[pa]=ਵਿਡà©à¨ ਫਾà¨à¨²à¨¾à¨ (ffmpegthumbs) -Name[pl]=Pliki filmów (ffmpegthumbs) -Name[pt]=Ficheiros de VÃdeo (ffmpegthumbs) -Name[pt_BR]=Arquivos de vÃdeo (ffmpegthumbs) -Name[ro]=FiÈiere video (ffmpegthumbs) -Name[ru]=ÐидеоÑÐ°Ð¹Ð»Ñ (ffmpegthumbs) -Name[sk]=Video súbory (ffmpegthumbs) -Name[sl]=Datoteke z videom (ffmpegthumbs) -Name[sr]=Ðидео ÑаÑлови (ÑлиÑиÑе ФФмпегом) -Name[sr@ijekavian]=Ðидео ÑаÑлови (ÑлиÑиÑе ФФмпегом) -Name[sr@ijekavianlatin]=Video fajlovi (sliÄice FFmpegom) -Name[sr@latin]=Video fajlovi (sliÄice FFmpegom) -Name[sv]=Videofiler (ffmpeg miniatyrbilder) -Name[ta]=நிà®à®´à¯à®ªà®à®à¯à®à¯à®ªà¯à®ªà¯à®à®³à¯ (ffmpegthumbs) -Name[tr]=Video Dosyaları (ffmpegthumbs) -Name[ug]=سÙÙ Ú¾ÛØ¬Ø¬ÛتÙÛØ± (ffmpegthumbs) -Name[uk]=Файли вÑдео (ffmpegthumbs) -Name[x-test]=xxVideo Files (ffmpegthumbs)xx -Name[zh_CN]=è§é¢æä»¶ (ffmpegthumbs) -Name[zh_TW]=å½±åæª (ffmpegthumbs) -X-KDE-ServiceTypes=ThumbCreator -MimeType=application/mxf;application/ogg;application/sdp;application/smil;application/streamingmedia;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.rn-realmedia-vbr;application/vnd.rn-realmedia;application/x-cue;application/x-extension-m4a;application/x-extension-mp4;application/x-matroska;application/x-mpegurl;application/x-ogg;application/x-ogm-video;application/x-ogm;application/x-shorten;application/x-smil;application/x-streamingmedia;video/*; -X-KDE-Library=ffmpegthumbs -ServiceTypes=ThumbCreator -CacheThumbnail=true -HandleSequences=true -ThumbnailerVersion=2 -IgnoreMaximumSize=true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ffmpegthumbs-23.04.3/ffmpegthumbs.json new/ffmpegthumbs-23.08.0/ffmpegthumbs.json --- old/ffmpegthumbs-23.04.3/ffmpegthumbs.json 1970-01-01 01:00:00.000000000 +0100 +++ new/ffmpegthumbs-23.08.0/ffmpegthumbs.json 2023-08-16 23:01:07.000000000 +0200 @@ -0,0 +1,86 @@ +{ + "CacheThumbnail": true, + "HandleSequences": true, + "IgnoreMaximumSize": true, + "KPlugin": { + "MimeTypes": [ + "application/mxf", + "application/ogg", + "application/sdp", + "application/smil", + "application/streamingmedia", + "application/vnd.apple.mpegurl", + "application/vnd.ms-asf", + "application/vnd.rn-realmedia-vbr", + "application/vnd.rn-realmedia", + "application/x-cue", + "application/x-extension-m4a", + "application/x-extension-mp4", + "application/x-matroska", + "application/x-mpegurl", + "application/x-ogg", + "application/x-ogm-video", + "application/x-ogm", + "application/x-shorten", + "application/x-smil", + "application/x-streamingmedia", + "video/*" + ], + "Name": "Video Files (ffmpegthumbs)", + "Name[ar]": "Ù ÙÙÙØ§Øª اÙÙÙØ¯ÙÙ (ffmpegthumbs)", + "Name[bg]": "Ðидео Ñайлове (ffmpegthumbs)", + "Name[bs]": "Video datoteke (ffmpegthumbs)", + "Name[ca@valencia]": "Fitxers de vÃdeo (ffmpegthumbs)", + "Name[ca]": "Fitxers de vÃdeo (ffmpegthumbs)", + "Name[cs]": "Soubory videa (ffmpegthumbs)", + "Name[da]": "Videofiler (ffmpegthumbs)", + "Name[de]": "Videodateien (ffmpegthumbs)", + "Name[el]": "ÎÏÏεία βίνÏεο (ffmpegthumbs)", + "Name[en_GB]": "Video Files (ffmpegthumbs)", + "Name[eo]": "Video-dosieroj (ffmpegthumbs)", + "Name[es]": "Archivos de vÃdeo (ffmpegthumbs)", + "Name[et]": "Videofailid (ffmpegthumbs)", + "Name[eu]": "Bideo fitxategiak (ffmpeg koadro-txikiak)", + "Name[fi]": "Videotiedostot (ffmpegthumbs)", + "Name[fr]": "Fichiers vidéo (ffmpegthumbs)", + "Name[ga]": "Comhaid FhÃse (ffmpegthumbs)", + "Name[gl]": "Ficheiros de vÃdeo (ffmpegthumbs)", + "Name[hi]": "à¤à¤²à¤à¤¿à¤¤à¥à¤° फ़ाà¤à¤² (à¤à¤«à¤¼à¤à¤«à¤¼à¤à¤®à¤ªà¥à¤à¤¥à¤®à¥à¤¬à¤¸)", + "Name[hu]": "Videofájlok (ffmpegthumbs)", + "Name[ia]": "Files Video (ffmpegthumbs)", + "Name[id]": "File-file Video (ffmpegthumbs)", + "Name[is]": "VÃdeóskrár (ffmpegthumbs)", + "Name[it]": "File video (ffmpegthumbs)", + "Name[ja]": "åç»ãã¡ã¤ã« (ffmpegthumbs)", + "Name[ka]": "ááááá á¤áááááá (ffmpegthumbs)", + "Name[kk]": "Ðидео ÑÐ°Ð¹Ð»Ð´Ð°Ñ (ffmpegthumbs)", + "Name[km]": "á¯ááá¶áâáá¸ááá¢á¼ (ffmpegthumbs)", + "Name[ko]": "ëìì íì¼ (ffmpegthumbs)", + "Name[lt]": "Video failai (ffmpegthumbs)", + "Name[mr]": "वà¥à¤¹à¤¿à¤¡à¥à¤ फाà¤à¤²à¥à¤¸ (ffmpegthumbs)", + "Name[nb]": "Videofiler (ffmpegthumbs)", + "Name[nds]": "Videodateien (ffmpeg-Vöransichten)", + "Name[nl]": "Videobestanden (ffmpeg-miniaturen)", + "Name[nn]": "Videofiler (ffmpegthumbs)", + "Name[pa]": "ਵਿਡà©à¨ ਫਾà¨à¨²à¨¾à¨ (ffmpegthumbs)", + "Name[pl]": "Pliki filmów (ffmpegthumbs)", + "Name[pt]": "Ficheiros de VÃdeo (ffmpegthumbs)", + "Name[pt_BR]": "Arquivos de vÃdeo (ffmpegthumbs)", + "Name[ro]": "FiÈiere video (ffmpegthumbs)", + "Name[ru]": "ÐидеоÑÐ°Ð¹Ð»Ñ (ffmpegthumbs)", + "Name[sk]": "Video súbory (ffmpegthumbs)", + "Name[sl]": "Datoteke z videom (ffmpegthumbs)", + "Name[sr@ijekavian]": "Ðидео ÑаÑлови (ÑлиÑиÑе ФФмпегом)", + "Name[sr@ijekavianlatin]": "Video fajlovi (sliÄice FFmpegom)", + "Name[sr@latin]": "Video fajlovi (sliÄice FFmpegom)", + "Name[sr]": "Ðидео ÑаÑлови (ÑлиÑиÑе ФФмпегом)", + "Name[sv]": "Videofiler (ffmpeg miniatyrbilder)", + "Name[ta]": "நிà®à®´à¯à®ªà®à®à¯à®à¯à®ªà¯à®ªà¯à®à®³à¯ (ffmpegthumbs)", + "Name[tr]": "Video Dosyaları (ffmpegthumbs)", + "Name[ug]": "سÙÙ Ú¾ÛØ¬Ø¬ÛتÙÛØ± (ffmpegthumbs)", + "Name[uk]": "Файли вÑдео (ffmpegthumbs)", + "Name[x-test]": "xxVideo Files (ffmpegthumbs)xx", + "Name[zh_CN]": "è§é¢æä»¶ (ffmpegthumbs)", + "Name[zh_TW]": "å½±åæª (ffmpegthumbs)" + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ffmpegthumbs-23.04.3/org.kde.ffmpegthumbs.metainfo.xml new/ffmpegthumbs-23.08.0/org.kde.ffmpegthumbs.metainfo.xml --- old/ffmpegthumbs-23.04.3/org.kde.ffmpegthumbs.metainfo.xml 2023-06-30 00:30:20.000000000 +0200 +++ new/ffmpegthumbs-23.08.0/org.kde.ffmpegthumbs.metainfo.xml 2023-08-16 23:01:07.000000000 +0200 @@ -16,6 +16,7 @@ <name xml:lang="de">FFmpeg-Vorschaugenerator</name> <name xml:lang="el">Î ÏÏγÏαμμα εικÏνÏν εÏιÏκÏÏηÏÎ·Ï FFmpeg</name> <name xml:lang="en-GB">FFmpeg Thumbnailer</name> + <name xml:lang="eo">FFmpeg Thumbnailer</name> <name xml:lang="es">Creador de vistas previas FFmpeg</name> <name xml:lang="et">FFmpeg Thumbnailer</name> <name xml:lang="eu">FFmpeg koadro-txiki egilea</name> @@ -28,7 +29,7 @@ <name xml:lang="is">FFmpeg smámyndagerð</name> <name xml:lang="it">Generatore di miniature FFmpeg</name> <name xml:lang="ka">FFmpeg-áá áááááá¢á£á áááá¡ á¨áá¥ááá</name> - <name xml:lang="ko">FFmpeg ì¶ìí ìì±ê¸°</name> + <name xml:lang="ko">FFmpeg ì¬ë¤ì¼ ìì±ê¸°</name> <name xml:lang="nl">FFmpeg miniatuurmaker</name> <name xml:lang="nn">FFmpeg Thumbnailer</name> <name xml:lang="pl">Twórca miniatur FFmpeg</name> @@ -54,6 +55,7 @@ <summary xml:lang="de">Erstellt Video-Vorschaubilder mit FFmpeg</summary> <summary xml:lang="el">ΠαÏαγÏγÏÏ ÎµÎ¹ÎºÏνÏν εÏιÏκÏÏηÏÎ·Ï Î²Î¯Î½Ïεο με Ïο FFmpeg</summary> <summary xml:lang="en-GB">Video thumbnail generator using FFmpeg</summary> + <summary xml:lang="eo">Generatoro de video-bildetoj uzante FFmpeg</summary> <summary xml:lang="es">Generador de vistas previas de vÃdeo usando FFmpeg</summary> <summary xml:lang="et">Video pisipiltide genereerija FFmpegi abil</summary> <summary xml:lang="eu">Bideoen koadro-txiki sortzailea FFmpeg erabiliz</summary> @@ -66,7 +68,7 @@ <summary xml:lang="is">Gerð smámynda úr myndskeiðum með FFmpeg</summary> <summary xml:lang="it">Generatore di miniature video che usa FFmpeg</summary> <summary xml:lang="ka">FFmpeg-áá ááááá áááááá¢á£á áááá¡ á¨áá¥ááá</summary> - <summary xml:lang="ko">FFmpeg를 ì¬ì©íì¬ ëìì ì¶ìí ìì±</summary> + <summary xml:lang="ko">FFmpeg를 ì¬ì©íì¬ ëìì ì¬ë¤ì¼ ìì±</summary> <summary xml:lang="nl">Generator van videominiatuur met behulp van FFmpeg</summary> <summary xml:lang="nn">Generer miniatyrbilete for video via FFmpeg</summary> <summary xml:lang="pl">Twórca miniatur filmów wykorzystujÄ cy FFmpeg</summary> @@ -94,6 +96,7 @@ <p xml:lang="de">FFmpeg-Vorschaugenerator erstellt Video.Vorschaubilder für KDE-Dateiverwaltungsprogramme.</p> <p xml:lang="el">Το ÏÏÏγÏαμμαεικÏνÏν εÏιÏκÏÏηÏÎ·Ï FFmpeg είναι ÎÎ½Î±Ï ÏαÏαγÏγÏÏ ÎµÎ¹ÎºÏνÏν εÏιÏκÏÏηÏÎ·Ï Î²Î¯Î½Ïεο για ÏÎ¿Ï Ï Î´Î¹Î±ÏειÏιÏÏÎÏ Î±ÏÏείÏν ÏÎ¿Ï KDE.</p> <p xml:lang="en-GB">FFmpeg Thumbnailer is a video thumbnail generator for KDE file managers.</p> + <p xml:lang="eo">FFmpeg Thumbnailer estas generatoro de video-bildetoj por dosiermastrumiloj de KDE.</p> <p xml:lang="es">El creador de vistas previas FFmpeg es un generador para los sistemas de archivo de KDE.</p> <p xml:lang="et">FFmpeg Thumbnailer on videode pisipiltide looja KDE failihaldurite tarbeks.</p> <p xml:lang="eu">FFmpeg koadro-txiki egilea KDE fitxategi-kudeatzaileentzako bideoen koadro-txiki sortzaile bat da.</p> @@ -106,7 +109,7 @@ <p xml:lang="is">FFmpeg smámyndagerð útbýr smámyndir úr myndskeiðum fyrir skráastjóra KDE.</p> <p xml:lang="it">Il generatore di miniature FFmpeg è un generatore di miniature video per i gestori di file di KDE.</p> <p xml:lang="ka">FFmpeg áááááááá¢á£á á KDE-áá¡ á¤ááááá¡ áááá áááááááá¡áááá¡ áááááááá á¡á£á ááááá¡ áá¦ááá¡.</p> - <p xml:lang="ko">FFmpeg ì¶ìí ìì±ê¸°ë KDE íì¼ ê´ë¦¬ìì ëìì ì¶ìí ìì±ê¸°ì ëë¤.</p> + <p xml:lang="ko">FFmpeg ì¬ë¤ì¼ ìì±ê¸°ë KDE íì¼ ê´ë¦¬ìì ëìì ì¬ë¤ì¼ ìì±ê¸°ì ëë¤.</p> <p xml:lang="nl">FFmpeg miniatuurmaker is een generator voor een videominiatuur voor KDE bestandsbeheerders.</p> <p xml:lang="nn">FFmpeg Thumbnailer er eit program for Ã¥ generera video-miniatyrbilete for KDE-baserte filhandsamarar.</p> <p xml:lang="pl">Twórca miniatur FFmpeg jest twórcÄ miniatur filmów dla przeglÄ darek plików KDE.</p> @@ -136,9 +139,9 @@ </screenshot> </screenshots> <releases> + <release version="23.08.0" date="2023-08-24"/> <release version="23.04.3" date="2023-07-06"/> <release version="23.04.2" date="2023-06-08"/> <release version="23.04.1" date="2023-05-11"/> - <release version="23.04.0" date="2023-04-20"/> </releases> </component> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ffmpegthumbs-23.04.3/tests/CMakeLists.txt new/ffmpegthumbs-23.08.0/tests/CMakeLists.txt --- old/ffmpegthumbs-23.04.3/tests/CMakeLists.txt 2023-06-30 00:30:20.000000000 +0200 +++ new/ffmpegthumbs-23.08.0/tests/CMakeLists.txt 2023-08-16 23:01:07.000000000 +0200 @@ -21,8 +21,17 @@ target_include_directories(ffmpegthumbtest PRIVATE ..) -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}) - - - - +target_link_libraries(ffmpegthumbtest + Qt::Core + Qt::Gui + KF${QT_MAJOR_VERSION}::KIOWidgets + KF${QT_MAJOR_VERSION}::KIOCore + KF${QT_MAJOR_VERSION}::I18n + KF${QT_MAJOR_VERSION}::ConfigCore + KF${QT_MAJOR_VERSION}::ConfigGui + ${AVUTIL_LIBRARIES} + ${AVFILTER_LIBRARIES} + ${AVFORMAT_LIBRARIES} + ${AVCODEC_LIBRARIES} + ${SWSCALE_LIBRARIES} +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ffmpegthumbs-23.04.3/tests/ffmpegthumbtest.cpp new/ffmpegthumbs-23.08.0/tests/ffmpegthumbtest.cpp --- old/ffmpegthumbs-23.04.3/tests/ffmpegthumbtest.cpp 2023-06-30 00:30:20.000000000 +0200 +++ new/ffmpegthumbs-23.08.0/tests/ffmpegthumbtest.cpp 2023-08-16 23:01:07.000000000 +0200 @@ -9,6 +9,7 @@ #include <QCoreApplication> #include <QFileInfo> +#include <QMimeDatabase> #include <QStringList> #include <iostream> @@ -21,15 +22,15 @@ if (arguments.count() > 1) { QString inputFilename(arguments.last()); - QImage image; - FFMpegThumbnailer *thumbnailer = new FFMpegThumbnailer(); - thumbnailer->create(inputFilename, 128, 128, image); + FFMpegThumbnailer thumbnailer(&app, QVariantList()); + QMimeDatabase db; + const QString mime = db.mimeTypeForFile(inputFilename).name(); + KIO::ThumbnailRequest request(QUrl::fromLocalFile(inputFilename), QSize(128, 128), mime, 0, 0); + const auto res = thumbnailer.create(request); QFileInfo fileInfo(inputFilename); - image.save(fileInfo.baseName() + QStringLiteral(".png")); - delete thumbnailer; + res.image().save(fileInfo.baseName() + QStringLiteral(".png")); } else { cout << "Usage:" << arguments.at(0).toLocal8Bit().data() << " filename" << endl; } return 0; } -
