diff -r c9ff58a0feab src/aac/src/libmp4.c --- a/src/aac/src/libmp4.c Tue Jul 10 23:04:17 2007 +0100 +++ b/src/aac/src/libmp4.c Wed Jul 11 01:46:33 2007 +0200 @@ -846,7 +846,12 @@ static void *mp4_decode( void *args ) ret = parse_aac_stream(mp4fh); - vfs_fseek(mp4fh, 0, SEEK_SET); + if( ret == TRUE ) + vfs_fseek(mp4fh, 0, SEEK_SET); + else { + vfs_fclose(mp4fh); + mp4fh = vfs_fopen(filename, "rb"); + } mp4cb->read = mp4_read_callback; mp4cb->seek = mp4_seek_callback;