changeset 544:e045af8665c6 trunk

[svn] - fix a warning - as far as i can tell, fix chained streams too
author nenolod
date Thu, 25 Jan 2007 01:39:09 -0800
parents 282bede45eef
children f9dc3d58207a
files ChangeLog src/vorbis/fileinfo.c src/vorbis/vorbis.c
diffstat 3 files changed, 15 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Jan 23 20:19:01 2007 -0800
+++ b/ChangeLog	Thu Jan 25 01:39:09 2007 -0800
@@ -1,3 +1,11 @@
+2007-01-24 04:19:01 +0000  Daniel Barkalow <barkalow@iabervon.org>
+  revision [1172]
+  Support for writing downloaded data to a file (no UI provided yet).
+  
+  trunk/src/curl/curl.c |   38 ++++++++++++++++++++++++++++++--------
+  1 file changed, 30 insertions(+), 8 deletions(-)
+
+
 2007-01-24 00:44:29 +0000  Giacomo Lozito <james@develia.org>
   revision [1170]
   - made popup window use audacious_fileinfopopup_show_from_title if track_name and song length is not available
--- a/src/vorbis/fileinfo.c	Tue Jan 23 20:19:01 2007 -0800
+++ b/src/vorbis/fileinfo.c	Thu Jan 25 01:39:09 2007 -0800
@@ -37,7 +37,7 @@
 
 #include <unistd.h>
 
-#include "audacious/util.h"
+#include <audacious/strings.h>
 #include <audacious/util.h>
 #include <audacious/vfs.h>
 #include <audacious/i18n.h>
--- a/src/vorbis/vorbis.c	Tue Jan 23 20:19:01 2007 -0800
+++ b/src/vorbis/vorbis.c	Thu Jan 25 01:39:09 2007 -0800
@@ -363,18 +363,15 @@
                                               pcmout, rg_scale);
     }
     else {
-        do {
-            bytes =
-                ov_read(&vf, pcmout, sizeof(pcmout),
+        bytes = ov_read(&vf, pcmout, sizeof(pcmout),
                         (int) (G_BYTE_ORDER == G_BIG_ENDIAN),
-                         2, 1, &current_section);
-	} while (bytes == OV_HOLE);
+                        2, 1, &current_section);
     }
 
     /*
      * We got some sort of error. Bail.
      */
-    if (bytes <= 0) {
+    if (bytes <= 0 && bytes != OV_HOLE) {
         g_mutex_unlock(vf_mutex);
         vorbis_ip.output->buffer_free();
         vorbis_ip.output->buffer_free();
@@ -477,7 +474,10 @@
     vorbis_is_streaming = ((time = ov_time_total(&vf, -1)) <= 1.);
 
     if (vorbis_is_streaming)
+    {
         time = -1;
+	vf.seekable = FALSE;   /* XXX: don't ask. -nenolod */
+    }
 
     if (vi->channels > 2) {
         vorbis_eos = TRUE;