diff src/aac/src/libmp4.c @ 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 6ed8d477ba89
children c77a0ed314bc
line wrap: on
line diff
--- 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;