rpms/phonon/F-11 qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch, NONE, 1.1 phonon.spec, 1.38, 1.39
Lukas Tinkl
ltinkl at fedoraproject.org
Wed Oct 7 13:11:53 UTC 2009
Author: ltinkl
Update of /cvs/extras/rpms/phonon/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18190/F-11
Modified Files:
phonon.spec
Added Files:
qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch
Log Message:
sync with devel/
qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch:
audiooutput.cpp | 4 +++-
devicemanager.cpp | 22 ++++++++++++++++++++--
2 files changed, 23 insertions(+), 3 deletions(-)
--- NEW FILE qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch ---
diff -up qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/audiooutput.cpp.than qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/audiooutput.cpp
--- qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/audiooutput.cpp.than 2009-08-16 14:20:43.000000000 +0200
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/audiooutput.cpp 2009-08-16 14:45:56.000000000 +0200
@@ -141,7 +141,9 @@ bool AudioOutput::setOutputDevice(int ne
// Save previous state
GstState oldState = GST_STATE(m_audioSink);
const QByteArray oldDeviceValue = GstHelper::property(m_audioSink, "device");
- const QByteArray deviceId = deviceList.at(newDevice).gstId;
+ const QByteArray deviceId = (deviceList.at(newDevice).gstId == "PulseAudio"
+ ? "default"
+ : deviceList.at(newDevice).gstId);
m_device = newDevice;
// We test if the device can be opened by checking if it can go from NULL to READY state
diff -up qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/devicemanager.cpp.than qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/devicemanager.cpp
--- qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/devicemanager.cpp.than 2009-08-15 12:39:08.000000000 +0200
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/devicemanager.cpp 2009-08-16 14:45:13.000000000 +0200
@@ -50,6 +50,8 @@ AudioDevice::AudioDevice(DeviceManager *
//get name from device
if (gstId == "default") {
description = "Default audio device";
+ } else if (gstId == "PulseAudio") {
+ description = QObject::tr("Pass all audio through the PulseAudio Sound Server.\n").toUtf8();
} else {
GstElement *aSink= manager->createAudioSink();
@@ -175,6 +177,18 @@ GstElement *DeviceManager::createAudioSi
}
}
+ if (!sink) {
+ sink = gst_element_factory_make ("pulsesink", NULL);
+ if (canOpenDevice(sink)) {
+ m_backend->logMessage("AudioOutput using pulse audio sink");
+ m_audioSink = "pulsesink";
+ }
+ else if (sink) {
+ gst_object_unref(sink);
+ sink = 0;
+ }
+ }
+
#ifdef USE_ALSASINK2
if (!sink) {
sink = gst_element_factory_make ("_k_alsasink", NULL);
@@ -306,8 +320,12 @@ void DeviceManager::updateDeviceList()
QList<QByteArray> list;
if (audioSink) {
- list = GstHelper::extractProperties(audioSink, "device");
- list.prepend("default");
+ if (m_audioSink == "pulsesink") {
+ list.append("PulseAudio");
+ } else {
+ list = GstHelper::extractProperties(audioSink, "device");
+ list.prepend("default");
+ }
for (int i = 0 ; i < list.size() ; ++i) {
QByteArray gstId = list.at(i);
Index: phonon.spec
===================================================================
RCS file: /cvs/extras/rpms/phonon/F-11/phonon.spec,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -p -r1.38 -r1.39
--- phonon.spec 26 Sep 2009 21:27:20 -0000 1.38
+++ phonon.spec 7 Oct 2009 13:11:53 -0000 1.39
@@ -1,16 +1,23 @@
+
Summary: Multimedia framework api
Name: phonon
Version: 4.3.1
-Release: 6%{?dist}.1
+Release: 101%{?dist}
Group: System Environment/Libraries
License: LGPLv2+
URL: http://phonon.kde.org/
-#Source0: ftp://ftp.kde.org/pub/kde/stable/phonon/%{version}/%{name}-%{version}.tar.bz2
Source0: ftp://ftp.kde.org/pub/kde/stable/4.2.1/phonon-%{version}.tar.bz2
-Source1: http://gstreamer.freedesktop.org/data/images/artwork/gstreamer-logo.svg
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-# Make PulseAudio the default again when listed by the backend.
+Source10: http://gstreamer.freedesktop.org/data/images/artwork/gstreamer-logo.svg
+Source11: hi16-phonon-gstreamer.png
+Source12: hi22-phonon-gstreamer.png
+Source13: hi32-phonon-gstreamer.png
+Source14: hi48-phonon-gstreamer.png
+Source15: hi64-phonon-gstreamer.png
+Source16: hi128-phonon-gstreamer.png
+
+# Make PulseAudio the default when listed by the backend.
# Note that this currently only works for the Xine backend. Device selection in
# the GStreamer backend is weird: there is a setting for "sink" which cannot be
# set through systemsettings, and listed devices are only those supported by the
@@ -18,6 +25,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version
# it as a "sink", and then the device setting is ignored entirely.
Patch0: phonon-4.2.96-pulseaudio.patch
Patch1: phonon-4.2.96-xine-pulseaudio.patch
+Patch2: qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch
+
+## define to build phonon-backend-xine only
+#define xine_only 1
+#Patch10: phonon-4.3.1-xineonly.patch
## Upstream patches
Patch100: phonon-4.3.2-gstreamer-utf8-url.patch
@@ -32,7 +44,6 @@ BuildRequires: cmake >= 2.6.0
BuildRequires: glib2-devel
BuildRequires: gstreamer-devel
BuildRequires: gstreamer-plugins-base-devel
-BuildRequires: GraphicsMagick
BuildRequires: kde-filesystem
BuildRequires: libxcb-devel
BuildRequires: libxml2-devel
@@ -41,20 +52,21 @@ BuildRequires: qt4-devel >= 4.4.0
BuildRequires: xine-lib-devel
Requires: phonon-backend%{?_isa} >= %{version}
-## hard-code phonon-backend-xine, if yum chooses -gstreamer by default
-#Requires(hint): phonon-backend-xine%{?_isa} >= %{version}
+
+## can switch to Requires instead of Conflicts once bootstrapping is done
+#Requires: qt4%{?_isa} >= %{_qt4_version}
+Conflicts: qt4 < 4.5.2-21
%description
%{summary}.
-%package backend-gstreamer
-Summary: Gstreamer phonon backend
-Group: Applications/Multimedia
+%package devel
+Summary: Developer files for %{name}
+Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Provides: phonon-backend%{?_isa} = %{version}-%{release}
-Obsoletes: %{name}-backend-gst < 4.2.0-4
-Provides: %{name}-backend-gst = %{version}-%{release}
-%description backend-gstreamer
+Requires: qt4-devel
+Requires: pkgconfig
+%description devel
%{summary}.
%package backend-xine
@@ -65,13 +77,15 @@ Provides: phonon-backend%{?_isa} = %{ver
%description backend-xine
%{summary}.
-%package devel
-Summary: Developer files for %{name}
-Group: Development/Libraries
+%package backend-gstreamer
+Summary: Gstreamer phonon backend
+Group: Applications/Multimedia
+Epoch: 2
Requires: %{name} = %{version}-%{release}
-Requires: qt4-devel
-Requires: pkgconfig
-%description devel
+Provides: phonon-backend%{?_isa} = %{version}-%{release}
+Obsoletes: %{name}-backend-gst < 4.2.0-4
+Provides: %{name}-backend-gst = %{version}-%{release}
+%description backend-gstreamer
%{summary}.
@@ -79,11 +93,17 @@ Requires: pkgconfig
%setup -q -n phonon-%{version}%{?alphatag}
%patch0 -p1 -b .pulseaudio
%patch1 -p1 -b .xine-pulseaudio
+%patch2 -p4 -b .gst-pulseaudio
%patch100 -p0 -b .gstreamer-utf8-url
%patch101 -p0 -b .gstreamer-volumefader
%patch102 -p1 -b .xine_nonascii
%patch103 -p1 -b .xine_nonascii-2
+# not working? use -C .../xine hack below instead for now -- Rex
+%if 0%{?xine_only}
+#%patch10 -p1 -b .xineonly
+%endif
+
%build
mkdir -p %{_target_platform}
@@ -91,31 +111,35 @@ pushd %{_target_platform}
%{cmake} ..
popd
-make %{?_smp_mflags} -C %{_target_platform}
+make %{?_smp_mflags} -C %{_target_platform}%{?xine_only:/xine}
%install
rm -rf %{buildroot}
-make install/fast DESTDIR=%{buildroot} -C %{_target_platform}
+make install/fast DESTDIR=%{buildroot} -C %{_target_platform}%{?xine_only:/xine}
# move the oxygen-only phonon-xine icons to hicolor
-test -d %{buildroot}%{_datadir}/icons/hicolor && exit 0
mv %{buildroot}%{_datadir}/icons/oxygen \
%{buildroot}%{_datadir}/icons/hicolor
-install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/phonon-gstreamer.svg
-for i in 16 22 32 48 64 128; do
- mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps
- gm convert -background None -geometry ${i}x${i} %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/phonon-gstreamer.png
- touch --reference %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/phonon-gstreamer.png
-done
+%if ! 0%{?xine_only}
+# gstreamer icons
+install -D -m 0644 %{SOURCE10} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/phonon-gstreamer.svg
+install -D -m 0644 %{SOURCE11} %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/phonon-gstreamer.png
+install -D -m 0644 %{SOURCE12} %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/phonon-gstreamer.png
+install -D -m 0644 %{SOURCE13} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/phonon-gstreamer.png
+install -D -m 0644 %{SOURCE14} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/phonon-gstreamer.png
+install -D -m 0644 %{SOURCE15} %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/phonon-gstreamer.png
+install -D -m 0644 %{SOURCE16} %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/phonon-gstreamer.png
+%endif
%clean
rm -rf %{buildroot}
+%if ! 0%{?xine_only}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@@ -123,28 +147,29 @@ rm -rf %{buildroot}
%post backend-gstreamer
touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||:
-%post backend-xine
-touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||:
-
-%posttrans backend-gstreamer
-gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||:
-
-%posttrans backend-xine
-gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||:
-
%postun backend-gstreamer
if [ $1 -eq 0 ] ; then
touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||:
gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||:
fi
+%posttrans backend-gstreamer
+gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||:
+%endif
+
+%post backend-xine
+touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||:
+
%postun backend-xine
if [ $1 -eq 0 ] ; then
touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||:
gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||:
fi
+%posttrans backend-xine
+gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||:
+%if ! 0%{?xine_only}
%files
%defattr(-,root,root,-)
%doc COPYING.LIB
@@ -154,11 +179,20 @@ fi
%dir %{_kde4_libdir}/kde4/plugins/phonon_backend/
%dir %{_kde4_datadir}/kde4/services/phononbackends/
+%files devel
+%defattr(-,root,root,-)
+%dir %{_includedir}/KDE
+%{_includedir}/KDE/Phonon/
+%{_includedir}/phonon/
+%{_libdir}/pkgconfig/phonon.pc
+%{_libdir}/libphonon*.so
+
%files backend-gstreamer
%defattr(-,root,root,-)
%{_kde4_libdir}/kde4/plugins/phonon_backend/phonon_gstreamer.so
%{_kde4_datadir}/kde4/services/phononbackends/gstreamer.desktop
%{_datadir}/icons/hicolor/*/apps/phonon-gstreamer.*
+%endif
%files backend-xine
%defattr(-,root,root,-)
@@ -166,19 +200,32 @@ fi
%{_kde4_datadir}/kde4/services/phononbackends/xine.desktop
%{_datadir}/icons/hicolor/*/apps/phonon-xine.*
-%files devel
-%defattr(-,root,root,-)
-%dir %{_includedir}/KDE
-%{_includedir}/KDE/Phonon/
-%{_includedir}/phonon/
-%{_libdir}/pkgconfig/phonon.pc
-%{_libdir}/libphonon*.so
-
%changelog
-* Sat Sep 26 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.3.1-6.1
+* Tue Sep 29 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.3.1-101
+- revert to kde/phonon
+- inflate to Release: 101
+- -backend-gstreamer: Epoch: 2
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 4.3.1-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Thu Jun 18 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.3.1-11
- fix for '#' in filenames
+* Tue Jun 09 2009 Than Ngo <than at redhat.com> - 4.3.1-10
+- make InitialPreference=9
+
+* Sun Jun 07 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.3.1-9
+- optimize scriptlets
+- Req: phonon >= %%phonon_version_major
+
+* Fri Jun 05 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.3.1-8
+- restore patches to the xine backend
+
+* Fri Jun 05 2009 Than Ngo <than at redhat.com> - 4.3.1-7
+- only xine-backend
+
* Wed May 20 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.3.1-6
- phonon-backend-gstreamer multilib conflict (#501816)
More information about the fedora-extras-commits
mailing list