diff src/aac/src/libmp4.c @ 739:9480fdc511f1 trunk

[svn] - do not pass a buffered FD to the decoding thread, just use it for determining whether or not the stream is ADTS.
author nenolod
date Tue, 27 Feb 2007 04:19:56 -0800
parents eecd54a11610
children 6ae04ca57bc1
line wrap: on
line diff
--- a/src/aac/src/libmp4.c	Tue Feb 27 04:17:49 2007 -0800
+++ b/src/aac/src/libmp4.c	Tue Feb 27 04:19:56 2007 -0800
@@ -829,9 +829,6 @@
     char *filename = playback->filename;
 
     mp4fh = vfs_buffered_file_new_from_uri(filename);
-    mp4cb->read = mp4_read_callback;
-    mp4cb->seek = mp4_seek_callback;
-    mp4cb->user_data = mp4fh;
 
     g_static_mutex_lock(&mutex);
     seekPosition= -1;
@@ -842,7 +839,13 @@
         g_thread_exit(NULL);
 
     ret = parse_aac_stream(mp4fh);
-    vfs_rewind(mp4fh);
+    vfs_fclose(mp4fh);
+
+    mp4fh = vfs_fopen(filename, "rb");
+    mp4cb->read = mp4_read_callback;
+    mp4cb->seek = mp4_seek_callback;
+    mp4cb->user_data = mp4fh;
+
     mp4file= mp4ff_open_read(mp4cb);
   
     if( ret == TRUE ) {