[audacious-plugins] - Handle neon transport fseek SEEK_END corner-case (#632369, Hans de Goede) so streamed files get

Michael Schwendt mschwendt at fedoraproject.org
Mon Sep 13 16:22:06 UTC 2010


commit 709159675f9aca0413ca4b9347aa53d1e2e2405e
Author: Michael Schwendt <mschwendt at fedoraproject.org>
Date:   Mon Sep 13 18:21:59 2010 +0200

    - Handle neon transport fseek SEEK_END corner-case (#632369, Hans de Goede)
      so streamed files get a duration and become seekable.

 audacious-plugins-2.4.0-neon-seek_end.patch |   32 +++++++++++++++++++++++++++
 audacious-plugins.spec                      |    9 ++++++-
 2 files changed, 40 insertions(+), 1 deletions(-)
---
diff --git a/audacious-plugins-2.4.0-neon-seek_end.patch b/audacious-plugins-2.4.0-neon-seek_end.patch
new file mode 100644
index 0000000..7a99599
--- /dev/null
+++ b/audacious-plugins-2.4.0-neon-seek_end.patch
@@ -0,0 +1,32 @@
+--- audacious-plugins-fedora-2.4.0/src/neon/neon.c	2010-08-26 01:07:50.000000000 +0200
++++ audacious-plugins-fedora-2.4.0.new/src/neon/neon.c	2010-09-09 15:23:26.259097001 +0200
+@@ -917,6 +917,9 @@
+         return 0;
+     }
+ 
++    if (h->eof)
++        return 0;
++
+     /* If the buffer is empty, wait for the reader thread to fill it. */
+     g_mutex_lock (h->reader_status.mutex);
+ 
+@@ -1243,6 +1246,11 @@
+             newpos = h->pos + offset;
+             break;
+         case SEEK_END:
++            if (offset == 0) {
++                h->pos = content_length;
++                h->eof = TRUE;
++                return 0;
++            }
+             newpos = content_length + offset;
+             break;
+         default:
+@@ -1305,6 +1313,7 @@
+      * Things seem to have worked. The next read request will start
+      * the reader thread again.
+      */
++    h->eof = FALSE;
+ 
+     return 0;
+ }
diff --git a/audacious-plugins.spec b/audacious-plugins.spec
index 5bc40db..3706bc7 100644
--- a/audacious-plugins.spec
+++ b/audacious-plugins.spec
@@ -6,7 +6,7 @@
 
 Name: audacious-plugins
 Version: 2.4.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: Plugins for the Audacious audio player
 Group: Applications/Multimedia
 URL: http://audacious-media-player.org/
@@ -23,6 +23,8 @@ Source1: audacious-sid.desktop
 Patch0: audacious-plugins-2.0.1-xmms-skindir.patch
 # fix hardcoded libdir replacement
 Patch1: audacious-plugins-2.4-libdir.patch
+# submitted upstream by email
+Patch2: audacious-plugins-2.4.0-neon-seek_end.patch
 
 BuildRequires: audacious-devel >= %{aud_ver}
 BuildRequires: gettext
@@ -126,6 +128,7 @@ providers may build it with libsidplay 2 instead.
 %setup -q -n audacious-plugins-fedora-%{version}
 %patch0 -p1 -b .xmms-skindir
 %patch1 -p1 -b .libdir
+%patch2 -p1 -b .neon-seek
 
 for i in src/ladspa/ladspa.c
 do
@@ -213,6 +216,10 @@ update-desktop-database &> /dev/null || :
 
 
 %changelog
+* Mon Sep 13 2010 Michael Schwendt <mschwendt at fedoraproject.org> - 2.4.0-2
+- Handle neon transport fseek SEEK_END corner-case (#632369, Hans de Goede)
+  so streamed files get a duration and become seekable.
+
 * Thu Aug 26 2010 Michael Schwendt <mschwendt at fedoraproject.org> - 2.4.0-1
 - Update to 2.4.0 final.
 - To avoid short loud blasting noise with Pulse Audio during track changes 


More information about the scm-commits mailing list