Hello community,
here is the log from the commit of package phonon4qt5-backend-vlc for
openSUSE:Factory checked in at 2015-01-07 09:38:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/phonon4qt5-backend-vlc (Old)
and /work/SRC/openSUSE:Factory/.phonon4qt5-backend-vlc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "phonon4qt5-backend-vlc"
Changes:
--------
---
/work/SRC/openSUSE:Factory/phonon4qt5-backend-vlc/phonon4qt5-backend-vlc.changes
2014-10-22 16:23:47.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.phonon4qt5-backend-vlc.new/phonon4qt5-backend-vlc.changes
2015-01-07 09:38:13.000000000 +0100
@@ -1,0 +2,46 @@
+Thu Dec 11 21:47:43 UTC 2014 - [email protected]
+
+- Update to 0.8.2:
+ * Fix compilation with Qt 5.2.0
+
+-------------------------------------------------------------------
+Wed Nov 5 23:02:09 UTC 2014 - [email protected]
+
+- Update to 0.8.1:
+ * Code style improvements.
+ * VLC 2.2 compatibility - VLC 2.2 changed the time when
+ PulseAudio streams are constructed, rendering the Phonon
+ PulseSupport non-functional as it injects stream-dependent
+ properties through the environment which needs to happen close
+ to stream creation to avoid timing issues. The changed stream
+ creation time makes it impossible to provide high-level
+ PulseAudio control while also allowing Phonon applications to
+ construct multiple AudioOutputs in a very short time frame.
+ To allow core functionality from working under these
+ circumstances Phonon PulseSupport integration is disabled
+ when built against VLC >= 2.2 leading to the following
+ known regressions:
+ Changing the volume through the PulseAudio stream itself
+ is not propagated to Phonon AudioOutputs, meaning the
+ application can not reflect volume changes done through
+ other applications (e.g. a volume mixer).
+ Changing the muteness through the PulseAudio stream is
+ not propagated either.
+ The PulseAudio media.role property (as well as derived
+ properties) is always set to 'video' making all Phonon
+ application use the video category for output device
+ selection (e.g. as seen in the Phonon KCM).
+ * Revised the logic used to come up with an icon name for
+ libvlc. If the application has QApplication::windowIcon
+ set with an QIcon constructed through QIcon::fromTheme(string)
+ the actual icon name will be used.
+ Otherwise the lower-case version of
+ QCoreApplication::applicationName is used.
+ * Setting the libvlc app id is now only dependent on
+ QCoreApplication::applicationName being set (previously
+ it was also dependent on QCoreApplication::applicationVersion).
+ This change was made to accomodate the fact that most
+ applications neglect to set a version.
+- Bump phonon4qt5 (Build)Requires to 4.8.2
+
+-------------------------------------------------------------------
Old:
----
phonon-backend-vlc-0.8.0.tar.xz
New:
----
phonon-backend-vlc-0.8.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ phonon4qt5-backend-vlc.spec ++++++
--- /var/tmp/diff_new_pack.WBAo8o/_old 2015-01-07 09:38:13.000000000 +0100
+++ /var/tmp/diff_new_pack.WBAo8o/_new 2015-01-07 09:38:13.000000000 +0100
@@ -17,15 +17,15 @@
Name: phonon4qt5-backend-vlc
-Version: 0.8.0
+Version: 0.8.2
Release: 0
Summary: Phonon VLC Backend
License: LGPL-2.1+
Group: Development/Libraries/KDE
Url: http://phonon.kde.org/
%define filename phonon-backend-vlc
-%define _phonon4qt5_version 4.8.0
-Source:
http://download.kde.org/stable/phonon/%{filename}/%{version}/%{filename}-%{version}.tar.xz
+%define _phonon4qt5_version 4.8.2
+Source:
http://download.kde.org/stable/phonon/%{filename}/%{version}/src/%{filename}-%{version}.tar.xz
BuildRequires: alsa-devel
BuildRequires: cmake
BuildRequires: kf5-filesystem
++++++ phonon-backend-vlc-0.8.0.tar.xz -> phonon-backend-vlc-0.8.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonon-backend-vlc-0.8.0/CMakeLists.txt
new/phonon-backend-vlc-0.8.2/CMakeLists.txt
--- old/phonon-backend-vlc-0.8.0/CMakeLists.txt 2014-09-06 18:17:18.000000000
+0200
+++ new/phonon-backend-vlc-0.8.2/CMakeLists.txt 2014-12-04 10:29:23.000000000
+0100
@@ -25,7 +25,7 @@
set(PHONON_VLC_MAJOR_VERSION "0")
set(PHONON_VLC_MINOR_VERSION "8")
-set(PHONON_VLC_PATCH_VERSION "0")
+set(PHONON_VLC_PATCH_VERSION "2")
set(PHONON_VLC_VERSION
"${PHONON_VLC_MAJOR_VERSION}.${PHONON_VLC_MINOR_VERSION}.${PHONON_VLC_PATCH_VERSION}")
add_definitions(-DPHONON_VLC_VERSION="${PHONON_VLC_VERSION}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonon-backend-vlc-0.8.0/src/audio/audiooutput.cpp
new/phonon-backend-vlc-0.8.2/src/audio/audiooutput.cpp
--- old/phonon-backend-vlc-0.8.0/src/audio/audiooutput.cpp 2014-09-06
18:17:18.000000000 +0200
+++ new/phonon-backend-vlc-0.8.2/src/audio/audiooutput.cpp 2014-12-04
10:29:23.000000000 +0100
@@ -126,7 +126,19 @@
void AudioOutput::setOutputDeviceImplementation()
{
Q_ASSERT(m_player);
- if (PulseSupport::getInstance()->isActive()) {
+#if (LIBVLC_VERSION_INT >= LIBVLC_VERSION(2, 2, 0, 0))
+ // VLC 2.2 has the PulseSupport overrides always disabled because of
+ // incompatibility. Also see backend.cpp for more detals.
+ // To get access to the correct activity state we need to temporarily
+ // enable pulse and then disable it again. This is necessary because
isActive
+ // is in fact isActive&isEnabled.............
+ PulseSupport::getInstance()->enable(true);
+ const bool pulseActive = PulseSupport::getInstance()->isActive();
+ PulseSupport::getInstance()->enable(false);
+#else
+ const bool pulseActive = PulseSupport::getInstance()->isActive();
+#endif
+ if (pulseActive) {
m_player->setAudioOutput("pulse");
debug() << "Setting aout to pulse";
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonon-backend-vlc-0.8.0/src/backend.cpp
new/phonon-backend-vlc-0.8.2/src/backend.cpp
--- old/phonon-backend-vlc-0.8.0/src/backend.cpp 2014-09-06
18:17:18.000000000 +0200
+++ new/phonon-backend-vlc-0.8.2/src/backend.cpp 2014-12-04
10:29:23.000000000 +0100
@@ -21,11 +21,12 @@
#include "backend.h"
-#include <QtCore/QCoreApplication>
-#include <QtCore/QLatin1Literal>
-#include <QtCore/QtPlugin>
-#include <QtCore/QVariant>
+#include <QApplication>
+#include <QIcon>
+#include <QLatin1Literal>
#include <QMessageBox>
+#include <QtPlugin>
+#include <QVariant>
#include <phonon/GlobalDescriptionContainer>
#include <phonon/pulsesupport.h>
@@ -102,23 +103,35 @@
qWarning("WARNING: Setting the user agent for streaming and"
" PulseAudio requires you to set
QCoreApplication::applicationName()");
}
-#ifdef __GNUC__
-#warning application name ought to be configurable by the consumer ... new api
-#endif
#if (LIBVLC_VERSION_INT >= LIBVLC_VERSION(2, 1, 0, 0))
- if (!qApp->applicationName().isEmpty() &&
!qApp->applicationVersion().isEmpty()) {
+ PulseSupport::getInstance()->enable(true);
+ const bool pulseActive = PulseSupport::getInstance()->isActive();
+ PulseSupport::getInstance()->enable(false);
+ if (!qApp->applicationName().isEmpty()) {
const QString id =
QString("org.kde.phonon.%1").arg(qApp->applicationName());
const QString version = qApp->applicationVersion();
- const QString icon = qApp->applicationName();
+ QString icon;
+#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
+ if (!qApp->windowIcon().isNull()){
+ // Try to get the fromTheme() name of the QIcon.
+ icon = qApp->windowIcon().name();
+ }
+#endif
+ if (icon.isEmpty()) {
+ // If we failed to get a proper icon name, use the appname
instead.
+ icon = qApp->applicationName().toLower();
+ }
libvlc_set_app_id(libvlc,
id.toUtf8().constData(),
version.toUtf8().constData(),
icon.toUtf8().constData());
- } else if (PulseSupport::getInstance()->isActive()) {
+ } else if (pulseActive) {
qWarning("WARNING: Setting PulseAudio context information requires
you"
- " to set QCoreApplication::applicationName() and"
- " QCoreApplication::applicationVersion()");
+ " to set QCoreApplication::applicationName(),"
+ " QCoreApplication::applicationVersion() and"
+ " QGuiApplication::windowIcon().");
}
+
#endif
} else {
#ifdef __GNUC__
@@ -138,9 +151,17 @@
// Initialise PulseAudio support
PulseSupport *pulse = PulseSupport::getInstance();
- pulse->enable();
+#if (LIBVLC_VERSION_INT >= LIBVLC_VERSION(2, 2, 0, 0))
+ // VLC 2.2 changed the stream creation order around internally which breaks
+ // the Pulseaudio hijacking. Since VLC upstream doesn't feel like giving us
+ // any more property control we now consider this feature unsupported. As
+ // such whatever properties VLC sets will be what pulse knows about us.
+ pulse->enable(true);
connect(pulse, SIGNAL(objectDescriptionChanged(ObjectDescriptionType)),
SIGNAL(objectDescriptionChanged(ObjectDescriptionType)));
+#else
+ pulse->enable(false);
+#endif
m_deviceManager = new DeviceManager(this);
m_effectManager = new EffectManager(this);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonon-backend-vlc-0.8.0/src/streamreader.cpp
new/phonon-backend-vlc-0.8.2/src/streamreader.cpp
--- old/phonon-backend-vlc-0.8.0/src/streamreader.cpp 2014-09-06
18:17:18.000000000 +0200
+++ new/phonon-backend-vlc-0.8.2/src/streamreader.cpp 2014-12-04
10:29:23.000000000 +0100
@@ -109,7 +109,7 @@
Q_UNUSED(data);
Q_UNUSED(cookie);
Q_UNUSED(bufferSize);
- delete static_cast<char *>(buffer);
+ delete[] static_cast<char *>(buffer);
return 0;
}
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]