changeset 785:e23b8e1472e3 trunk

[svn] - don't use a vfs buffered source for local files
author nenolod
date Tue, 06 Mar 2007 04:44:26 -0800
parents 5ddfe9eac8ee
children c23705487009
files ChangeLog src/aac/src/libmp4.c
diffstat 2 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Mar 06 01:12:16 2007 -0800
+++ b/ChangeLog	Tue Mar 06 04:44:26 2007 -0800
@@ -1,3 +1,14 @@
+2007-03-06 09:12:16 +0000  Yoshiki Yazawa <yaz@cc.rim.or.jp>
+  revision [1666]
+  - fix read_replaygain(). necessary fseek was missing in reuse fd code. closes #843.
+  - minor cleanups.
+  
+  trunk/src/madplug/decoder.c    |    4 +++-
+  trunk/src/madplug/input.c      |    2 +-
+  trunk/src/madplug/replaygain.c |   18 +++++++-----------
+  3 files changed, 11 insertions(+), 13 deletions(-)
+
+
 2007-03-05 08:48:01 +0000  Yoshiki Yazawa <yaz@cc.rim.or.jp>
   revision [1664]
   - check the result of vfs_fread() strictly.
--- a/src/aac/src/libmp4.c	Tue Mar 06 01:12:16 2007 -0800
+++ b/src/aac/src/libmp4.c	Tue Mar 06 04:44:26 2007 -0800
@@ -350,8 +350,10 @@
     mp4ff_t *mp4file;
     TitleInput *input = NULL;
     gchar *filename = g_strdup(fn);
+    gboolean remote = str_has_prefix_nocase(filename, "http:") ||
+	              str_has_prefix_nocase(filename, "https:");
 
-    mp4fh = vfs_buffered_file_new_from_uri(filename);
+    mp4fh = remote ? vfs_buffered_file_new_from_uri(filename) : vfs_fopen(filename, "rb");
 
     /* check if this file is an ADTS stream, if so return a blank tuple */
     if (parse_aac_stream(mp4fh))
@@ -373,6 +375,8 @@
         return input;
     }
 
+    vfs_rewind(mp4fh);
+
     mp4cb->read = mp4_read_callback;
     mp4cb->seek = mp4_seek_callback;
     mp4cb->user_data = mp4fh;