[audacious-plugins/f13/master] - Handle neon transport fseek SEEK_END corner-case (#632369, Hans de Goede) so stream files get a

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


commit de614c7557bcfce44a759c450847f2e08d00abbf
Author: Michael Schwendt <mschwendt at fedoraproject.org>
Date:   Mon Sep 13 18:53:05 2010 +0200

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

 audacious-plugins-2.2-neon-fseek-end.patch |   33 ++++++++++++++++++++++++++++
 audacious-plugins.spec                     |    7 ++++++
 2 files changed, 40 insertions(+), 0 deletions(-)
---
diff --git a/audacious-plugins-2.2-neon-fseek-end.patch b/audacious-plugins-2.2-neon-fseek-end.patch
new file mode 100644
index 0000000..d7848cb
--- /dev/null
+++ b/audacious-plugins-2.2-neon-fseek-end.patch
@@ -0,0 +1,33 @@
+diff -Nur audacious-plugins-2.2-orig/src/neon/neon.c audacious-plugins-2.2/src/neon/neon.c
+--- audacious-plugins-2.2-orig/src/neon/neon.c	2009-11-22 23:49:53.000000000 +0100
++++ audacious-plugins-2.2/src/neon/neon.c	2010-09-13 18:37:53.000000000 +0200
+@@ -963,6 +963,9 @@
+     gchar icy_metadata[NEON_ICY_BUFSIZE];
+     guchar icy_metalen;
+ 
++    if (h->eof)
++        return 0;
++
+     _ENTER;
+ 
+     if (NULL == h->request) {
+@@ -1318,6 +1321,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:
+@@ -1374,6 +1382,7 @@
+      * Things seem to have worked. The next read request will start
+      * the reader thread again.
+      */
++    h->eof = FALSE;
+ 
+     _LEAVE 0;
+ }
diff --git a/audacious-plugins.spec b/audacious-plugins.spec
index b55f2b3..4dee0c1 100644
--- a/audacious-plugins.spec
+++ b/audacious-plugins.spec
@@ -75,6 +75,8 @@ Patch21: audacious-plugins-2.2-ui_vis.patch
 Patch22: audacious-plugins-2.2-g_markup.patch
 # obsolete with version upgrade
 Patch23: audacious-plugins-2.2-delete-ui-state_cb.patch
+# tracked in 2.4.x package
+Patch24: audacious-plugins-2.2-neon-fseek-end.patch
 
 BuildRequires: audacious-devel >= %{aud_ver}
 BuildRequires: jack-audio-connection-kit-devel libsamplerate-devel
@@ -227,6 +229,7 @@ in Vortex (.vtx) format.
 %patch21 -p1 -b .ui_vis
 %patch22 -p1 -b .g_markup
 %patch23 -p1 -b .delete-ui-state_cb
+%patch24 -p1 -b .neon-fseek-end
 
 for i in src/ladspa/ladspa.c
 do
@@ -328,6 +331,10 @@ update-desktop-database &> /dev/null || :
 
 
 %changelog
+* Mon Sep 13 2010 Michael Schwendt <mschwendt at fedoraproject.org> - 2.2-37
+- Handle neon transport fseek SEEK_END corner-case (#632369, Hans de Goede)
+  so stream files get a duration and become seekable.
+
 * Mon Aug  2 2010 Michael Schwendt <mschwendt at fedoraproject.org> - 2.2-35
 - Nothing has ever before owned directory %%_libdir/audacious/ - now fixed.
 


More information about the scm-commits mailing list