changeset 4154:f52e4d3f2235

workaround for broken 'muvi' chunks
author arpi
date Mon, 14 Jan 2002 18:30:28 +0000
parents 2bb77282b2a6
children 7c0b4665668d
files libmpdemux/aviheader.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/aviheader.c	Mon Jan 14 17:47:42 2002 +0000
+++ b/libmpdemux/aviheader.c	Mon Jan 14 18:30:28 2002 +0000
@@ -50,9 +50,10 @@
     mp_msg(MSGT_HEADER,MSGL_DBG2,"LIST %.4s  len=%d\n",(char *) &id,len);
     if(id==listtypeAVIMOVIE){
       // found MOVI header
-      demuxer->movi_start=stream_tell(demuxer->stream);
+      if(!demuxer->movi_start) demuxer->movi_start=stream_tell(demuxer->stream);
       demuxer->movi_end=demuxer->movi_start+len;
       mp_msg(MSGT_HEADER,MSGL_V,"Found movie at 0x%X - 0x%X\n",(int)demuxer->movi_start,(int)demuxer->movi_end);
+      if(demuxer->stream->end_pos) demuxer->movi_end=demuxer->stream->end_pos;
       if(index_mode==-2) break; // reading from non-seekable source (stdin)
       len=(len+1)&(~1);
       stream_skip(demuxer->stream,len);