Hello community, here is the log from the commit of package phonon4qt5 for openSUSE:Factory checked in at 2018-02-28 19:59:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/phonon4qt5 (Old) and /work/SRC/openSUSE:Factory/.phonon4qt5.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "phonon4qt5" Wed Feb 28 19:59:58 2018 rev:16 rq:579681 version:4.10.0 Changes: -------- --- /work/SRC/openSUSE:Factory/phonon4qt5/phonon4qt5.changes 2017-02-03 18:55:22.154628019 +0100 +++ /work/SRC/openSUSE:Factory/.phonon4qt5.new/phonon4qt5.changes 2018-02-28 20:00:00.153889076 +0100 @@ -1,0 +2,16 @@ +Fri Feb 23 21:20:40 UTC 2018 - wba...@tmo.at + +- Update to 4.10.0: + * Changes + + PulseSupport is more robustly handling device list iteration. + * New API + + New backend API AudioOutputInterface410. This interface + implements a long-existing frontend interface for category + configuration. Usually, this is managed by the builtin + PulseSupport to force the category on a PulseAudio level, + sometimes this may not be possible because of how the backend + subsystem works and the backend needs to manage this directly. + + setCategory(Category) is called on the interface when the + synonymous frontend function is called. + +------------------------------------------------------------------- Old: ---- phonon-4.9.1.tar.xz New: ---- phonon-4.10.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ phonon4qt5.spec ++++++ --- /var/tmp/diff_new_pack.pSwaZC/_old 2018-02-28 20:00:01.005858248 +0100 +++ /var/tmp/diff_new_pack.pSwaZC/_new 2018-02-28 20:00:01.009858104 +0100 @@ -19,7 +19,7 @@ %define rname phonon Name: phonon4qt5 -Version: 4.9.1 +Version: 4.10.0 Release: 0 Summary: Multimedia Platform Abstraction License: LGPL-2.0+ ++++++ phonon-4.9.1.tar.xz -> phonon-4.10.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/.reviewboardrc new/phonon-4.10.0/.reviewboardrc --- old/phonon-4.9.1/.reviewboardrc 2017-01-24 08:29:17.000000000 +0100 +++ new/phonon-4.10.0/.reviewboardrc 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -REVIEWBOARD_URL = "https://git.reviewboard.kde.org" -REPOSITORY = 'git://anongit.kde.org/phonon' -TARGET_GROUPS = 'phonon' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/CMakeLists.txt new/phonon-4.10.0/CMakeLists.txt --- old/phonon-4.9.1/CMakeLists.txt 2017-01-24 08:29:17.000000000 +0100 +++ new/phonon-4.10.0/CMakeLists.txt 2018-02-23 15:30:17.000000000 +0100 @@ -22,8 +22,8 @@ # It is highly advised to think twice before changing those. # If you are unsure about the this: http://plan99.net/~mike/writing-shared-libraries.html set(PHONON_LIB_MAJOR_VERSION "4") # Only change on binary incompatible changes -set(PHONON_LIB_MINOR_VERSION "9") # Only change on binary compatible changes with new interfaces -set(PHONON_LIB_PATCH_VERSION "1") # Bump whenever you feel like it :P +set(PHONON_LIB_MINOR_VERSION "10") # Only change on binary compatible changes with new interfaces +set(PHONON_LIB_PATCH_VERSION "0") # Bump whenever you feel like it :P set(PHONON_LIB_VERSION "${PHONON_LIB_MAJOR_VERSION}.${PHONON_LIB_MINOR_VERSION}.${PHONON_LIB_PATCH_VERSION}") set(PHONON_LIB_SOVERSION ${PHONON_LIB_MAJOR_VERSION}) set(PHONON_LIB_SONAME phonon) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/metainfo.yaml new/phonon-4.10.0/metainfo.yaml --- old/phonon-4.9.1/metainfo.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/phonon-4.10.0/metainfo.yaml 2018-02-23 15:30:17.000000000 +0100 @@ -0,0 +1,14 @@ +maintainer: sitter +description: Phonon, the Qt multimedia abstraction library. +platforms: + - name: All +release: true +public_lib: true +public_source_dirs: + - phonon +public_doc_dir: + - doc +public_example_dir: + - demos +irc: kde-multimedia +mailinglist: kde-multimedia diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/phonon/audiooutput.cpp new/phonon-4.10.0/phonon/audiooutput.cpp --- old/phonon-4.9.1/phonon/audiooutput.cpp 2017-01-24 08:29:17.000000000 +0100 +++ new/phonon-4.10.0/phonon/audiooutput.cpp 2018-02-23 15:30:17.000000000 +0100 @@ -39,11 +39,12 @@ #include <QtCore/qmath.h> #define PHONON_CLASSNAME AudioOutput +#define IFACES10 AudioOutputInterface410 #define IFACES9 AudioOutputInterface49 #define IFECES7 AudioOutputInterface47 #define IFACES2 AudioOutputInterface42 #define IFACES1 IFACES2 -#define IFACES0 AudioOutputInterface40, IFACES1, IFECES7, IFACES9 +#define IFACES0 AudioOutputInterface40, IFACES1, IFECES7, IFACES9, IFACES10 #define PHONON_INTERFACENAME IFACES0 namespace Phonon @@ -315,6 +316,11 @@ q, SLOT(_k_mutedChanged(bool))); } + Iface<IFACES10> iface10(this); + if (iface10) { + iface10->setCategory(category); + } + if (!PulseSupport::getInstance()->isActive()) { // set up attributes pINTERFACE_CALL(setVolume(pow(volume, VOLTAGE_TO_LOUDNESS_EXPONENT))); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/phonon/audiooutputinterface.h new/phonon-4.10.0/phonon/audiooutputinterface.h --- old/phonon-4.9.1/phonon/audiooutputinterface.h 2017-01-24 08:29:17.000000000 +0100 +++ new/phonon-4.10.0/phonon/audiooutputinterface.h 2018-02-23 15:30:17.000000000 +0100 @@ -1,5 +1,5 @@ /* - Copyright (C) 2015 Harald Sitter <sit...@kde.org> + Copyright (C) 2015-2016 Harald Sitter <sit...@kde.org> Copyright (C) 2007-2008 Matthias Kretz <kr...@kde.org> This library is free software; you can redistribute it and/or @@ -29,7 +29,6 @@ #include "phonondefs.h" #include <QtCore/QtGlobal> - namespace Phonon { /** \class AudioOutputInterface audiooutputinterface.h phonon/AudioOutputInterface @@ -184,32 +183,56 @@ virtual void mutedChanged(bool mute) = 0; }; +class AudioOutputInterface410 : public AudioOutputInterface49 +{ +public: + /** + * Forwards the output category to the backend after construction. + * The category is immutable so this is only called once, it is also never + * read from the backend (hence the lack of a getter) as the backend gets + * no choice in this matter. + * @param category the category that was set on the output. + */ + virtual void setCategory(Phonon::Category category) = 0; +}; + } // namespace Phonon -#ifdef PHONON_BACKEND_VERSION_4_9 +#ifdef PHONON_BACKEND_VERSION_4_10 +namespace Phonon { typedef AudioOutputInterface410 AudioOutputInterface; } +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "6AudioOutputInterface.phonon.kde.org") +#elif defined PHONON_BACKEND_VERSION_4_9 namespace Phonon { typedef AudioOutputInterface49 AudioOutputInterface; } -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "5AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "5AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org") #elif defined PHONON_BACKEND_VERSION_4_7 namespace Phonon { typedef AudioOutputInterface47 AudioOutputInterface; } -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "4AudioOutputInterface.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "4AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org") #elif defined PHONON_BACKEND_VERSION_4_2 namespace Phonon { typedef AudioOutputInterface42 AudioOutputInterface; } -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "3AudioOutputInterface.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "3AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org") #else namespace Phonon { typedef AudioOutputInterface40 AudioOutputInterface; } -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "AudioOutputInterface2.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org") -Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "AudioOutputInterface2.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org") +Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org") #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/phonon/phonondefs_p.h new/phonon-4.10.0/phonon/phonondefs_p.h --- old/phonon-4.9.1/phonon/phonondefs_p.h 2017-01-24 08:29:17.000000000 +0100 +++ new/phonon-4.10.0/phonon/phonondefs_p.h 2018-02-23 15:30:17.000000000 +0100 @@ -236,7 +236,7 @@ * * \author Matthias Kretz <kr...@kde.org> */ - template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface> + template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface, class T4 = NoIface> class Iface { public: @@ -250,6 +250,10 @@ if (IsValid<T3>::Result) { ret = reinterpret_cast<T0 *>(my_cast<T3 *>(d->m_backendObject)); if (ret) return ret; + if (IsValid<T4>::Result) { + ret = reinterpret_cast<T0 *>(my_cast<T4 *>(d->m_backendObject)); + if (ret) return ret; + } } } ret = reinterpret_cast<T0 *>(my_cast<T1 *>(d->m_backendObject)); @@ -268,6 +272,10 @@ if (IsValid<T3>::Result) { ret = reinterpret_cast<const T0 *>(my_cast<T3 *>(d->m_backendObject)); if (ret) return ret; + if (IsValid<T4>::Result) { + ret = reinterpret_cast<const T0 *>(my_cast<T4 *>(d->m_backendObject)); + if (ret) return ret; + } } } ret = reinterpret_cast<const T0 *>(my_cast<T1 *>(d->m_backendObject)); @@ -285,11 +293,11 @@ T0 *const iface; }; - template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface> + template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface, class T4 = NoIface> class ConstIface { public: - inline ConstIface(const MediaNodePrivate *const d) : iface(Iface<T0, T1, T2, T3>::cast(d)) {} + inline ConstIface(const MediaNodePrivate *const d) : iface(Iface<T0, T1, T2, T3, T4>::cast(d)) {} inline operator const T0 *() const { return iface; } inline const T0 *operator->() const { Q_ASSERT(iface); return iface; } private: