rpms/phonon/F-10 phonon-4.3.2-kdebug#172242.patch, NONE, 1.1 .cvsignore, 1.7, 1.8 phonon.spec, 1.17, 1.18

Rex Dieter rdieter at fedoraproject.org
Mon May 4 16:26:02 UTC 2009


Author: rdieter

Update of /cvs/pkgs/rpms/phonon/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11807

Modified Files:
	.cvsignore phonon.spec 
Added Files:
	phonon-4.3.2-kdebug#172242.patch 
Log Message:
* Mon May 04 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.3.1-4
- fix Source0 Url
- xine backend will not play files with non-ascii names (kdebug#172242)


phonon-4.3.2-kdebug#172242.patch:

--- NEW FILE phonon-4.3.2-kdebug#172242.patch ---
Index: phonon/xine/xinestream.h
===================================================================
--- phonon/xine/xinestream.h	(revision 924144)
+++ phonon/xine/xinestream.h	(revision 924145)
@@ -86,7 +86,6 @@
         //void needRewire(AudioPostList *postList);
         void useGaplessPlayback(bool);
         void useGapOf(int gap);
-        void gaplessSwitchTo(const QUrl &url);
         void gaplessSwitchTo(const QByteArray &mrl);
         void closeBlocking();
         void aboutToDeleteVideoWidget();
@@ -141,7 +140,6 @@
 
         void unload();
     public slots:
-        void setUrl(const QUrl &url);
         void setMrl(const QByteArray &mrl, StateForNewMrl = StoppedState);
         void play();
         void pause();
Index: phonon/xine/mediaobject.cpp
===================================================================
--- phonon/xine/mediaobject.cpp	(revision 924144)
+++ phonon/xine/mediaobject.cpp	(revision 924145)
@@ -317,6 +317,20 @@
     setSourceInternal(source, HardSwitch);
 }
 
+static QByteArray mrlEncode(QByteArray mrl)
+{
+    for (int i = 0; i < mrl.size(); ++i) {
+        const unsigned char c = static_cast<unsigned char>(mrl.at(i));
+        if (c & 0x80 || c == '\\' || c < 32 || c == '%') {
+            char enc[4];
+            qsnprintf(enc, 4, "%%%02X", c);
+            mrl = mrl.left(i) + QByteArray(enc, 3) + mrl.mid(i + 1);
+            i += 2;
+        }
+    }
+    return mrl;
+}
+
 void MediaObject::setSourceInternal(const MediaSource &source, HowToSetTheUrl how)
 {
     //debug() << Q_FUNC_INFO;
@@ -340,13 +354,18 @@
             m_stream->setError(Phonon::NormalError, tr("Cannot open media data at '<i>%1</i>'").arg(source.url().toString(QUrl::RemovePassword)));
             return;
         }
-        switch (how) {
-        case GaplessSwitch:
-            m_stream->gaplessSwitchTo(source.url());
-            break;
-        case HardSwitch:
-            m_stream->setUrl(source.url());
-            break;
+        {
+            const QByteArray &mrl = (source.url().scheme() == QLatin1String("file") ?
+                    "file:/" + mrlEncode(QFile::encodeName(source.url().toLocalFile())) :
+                    source.url().toEncoded());
+            switch (how) {
+                case GaplessSwitch:
+                    m_stream->gaplessSwitchTo(mrl);
+                    break;
+                case HardSwitch:
+                    m_stream->setMrl(mrl);
+                    break;
+            }
         }
         break;
     case MediaSource::Disc:
Index: phonon/xine/xinestream.cpp
===================================================================
--- phonon/xine/xinestream.cpp	(revision 924144)
+++ phonon/xine/xinestream.cpp	(revision 924145)
@@ -619,12 +619,6 @@
 }
 
 // called from main thread
-void XineStream::gaplessSwitchTo(const QUrl &url)
-{
-    gaplessSwitchTo(url.toEncoded());
-}
-
-// called from main thread
 void XineStream::gaplessSwitchTo(const QByteArray &mrl)
 {
     QCoreApplication::postEvent(this, new GaplessSwitchEvent(mrl));
@@ -1707,12 +1701,6 @@
 }
 
 // called from main thread
-void XineStream::setUrl(const QUrl &url)
-{
-    setMrl(url.toEncoded());
-}
-
-// called from main thread
 void XineStream::setMrl(const QByteArray &mrl, StateForNewMrl sfnm)
 {
     debug() << Q_FUNC_INFO << mrl << ", " << sfnm;


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/phonon/F-10/.cvsignore,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- .cvsignore	29 Jan 2009 15:46:57 -0000	1.7
+++ .cvsignore	4 May 2009 16:25:31 -0000	1.8
@@ -1,2 +1,3 @@
 gstreamer-logo.svg
 phonon-4.3.0.tar.bz2
+phonon-4.3.1.tar.bz2


Index: phonon.spec
===================================================================
RCS file: /cvs/pkgs/rpms/phonon/F-10/phonon.spec,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -p -r1.17 -r1.18
--- phonon.spec	3 Mar 2009 16:54:23 -0000	1.17
+++ phonon.spec	4 May 2009 16:25:31 -0000	1.18
@@ -1,12 +1,15 @@
 Summary: Multimedia framework api
 Name:    phonon
 Version: 4.3.1
-Release: 2%{?dist}
+Release: 4%{?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/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.
 # 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
@@ -19,8 +22,8 @@ Patch1:  phonon-4.2.96-xine-pulseaudio.p
 ## Upstream patches
 Patch100: phonon-4.3.2-gstreamer-utf8-url.patch
 Patch101: phonon-4.3.2-gstreamer-volumefader.patch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# fix for non-ascii filenames in xine backend
+Patch102: phonon-4.3.2-kdebug#172242.patch
 
 BuildRequires: automoc4 >= 0.9.86
 BuildRequires: cmake >= 2.6.0
@@ -35,9 +38,9 @@ BuildRequires: pkgconfig
 BuildRequires: qt4-devel >= 4.4.0
 BuildRequires: xine-lib-devel
 
-Requires: phonon-backend >= %{version}
+Requires: phonon-backend%{?_isa} >= %{version}
 ## hard-code phonon-backend-xine, if yum chooses -gstreamer by default
-#Requires(hint): phonon-backend-xine >= %{version}
+#Requires(hint): phonon-backend-xine%{?_isa} >= %{version}
 
 %description
 %{summary}.
@@ -46,9 +49,7 @@ Requires: phonon-backend >= %{version}
 Summary: Gstreamer phonon backend
 Group:   Applications/Multimedia
 Requires: %{name} = %{version}-%{release}
-Requires(post): xdg-utils
-Requires(postun): xdg-utils
-Provides: phonon-backend = %{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
@@ -58,9 +59,7 @@ Provides:  %{name}-backend-gst = %{versi
 Summary: xine phonon backend
 Group:   Applications/Multimedia
 Requires: %{name} = %{version}-%{release}
-Requires(post): xdg-utils
-Requires(postun): xdg-utils
-Provides: phonon-backend = %{version}-%{release}
+Provides: phonon-backend%{?_isa} = %{version}-%{release}
 %description backend-xine
 %{summary}.
 
@@ -80,6 +79,8 @@ Requires: pkgconfig
 %patch1 -p1 -b .xine-pulseaudio
 %patch100 -p0 -b .gstreamer-utf8-url
 %patch101 -p0 -b .gstreamer-volumefader
+%patch102 -p1 -b .xine_nonascii
+
 
 %build
 mkdir -p %{_target_platform}
@@ -87,7 +88,7 @@ pushd %{_target_platform}
 %{cmake} ..
 popd
 
-make %{?_smp_mflags} -C %{_target_platform} VERBOSE=1
+make %{?_smp_mflags} -C %{_target_platform}
 
 
 %install
@@ -115,17 +116,29 @@ rm -rf %{buildroot}
 
 %postun -p /sbin/ldconfig
 
+%post backend-gstreamer
+touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||:
+
 %post backend-xine
-xdg-icon-resource forceupdate --theme hicolor 2> /dev/null || :
+touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||:
 
-%postun backend-xine
-xdg-icon-resource forceupdate --theme hicolor 2> /dev/null || :
+%posttrans backend-gstreamer
+gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||:
 
-%post backend-gstreamer
-xdg-icon-resource forceupdate --theme hicolor 2> /dev/null || :
+%posttrans backend-xine
+gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||:
 
 %postun backend-gstreamer
-xdg-icon-resource forceupdate --theme hicolor 2> /dev/null || :
+if [ $1 -eq 0 ] ; then
+  touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||:
+  gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||:
+fi
+
+%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
 
 
 %files
@@ -159,6 +172,14 @@ xdg-icon-resource forceupdate --theme hi
 
 
 %changelog
+* Mon May 04 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.3.1-4
+- fix Source0 Url
+- xine backend will not play files with non-ascii names (kdebug#172242)
+
+* Sat Apr 11 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.3.1-3
+- optimize scriptlets
+- Provides/Requires: phonon-backend%%{_isa} ...
+
 * Tue Mar  3 2009 Lukáš Tinkl <ltinkl at redhat.com> - 4.3.1-2
 - backport GStreamer backend bugfixes (UTF-8 file handling, volume
 fader)




More information about the fedora-extras-commits mailing list