comparison libmpdemux/aviheader.c @ 4154:f52e4d3f2235

workaround for broken 'muvi' chunks
author arpi
date Mon, 14 Jan 2002 18:30:28 +0000
parents 3a2bd7d449f7
children ed61ce9138ce
comparison
equal deleted inserted replaced
4153:2bb77282b2a6 4154:f52e4d3f2235
48 int len=stream_read_dword_le(demuxer->stream)-4; // list size 48 int len=stream_read_dword_le(demuxer->stream)-4; // list size
49 id=stream_read_dword_le(demuxer->stream); // list type 49 id=stream_read_dword_le(demuxer->stream); // list type
50 mp_msg(MSGT_HEADER,MSGL_DBG2,"LIST %.4s len=%d\n",(char *) &id,len); 50 mp_msg(MSGT_HEADER,MSGL_DBG2,"LIST %.4s len=%d\n",(char *) &id,len);
51 if(id==listtypeAVIMOVIE){ 51 if(id==listtypeAVIMOVIE){
52 // found MOVI header 52 // found MOVI header
53 demuxer->movi_start=stream_tell(demuxer->stream); 53 if(!demuxer->movi_start) demuxer->movi_start=stream_tell(demuxer->stream);
54 demuxer->movi_end=demuxer->movi_start+len; 54 demuxer->movi_end=demuxer->movi_start+len;
55 mp_msg(MSGT_HEADER,MSGL_V,"Found movie at 0x%X - 0x%X\n",(int)demuxer->movi_start,(int)demuxer->movi_end); 55 mp_msg(MSGT_HEADER,MSGL_V,"Found movie at 0x%X - 0x%X\n",(int)demuxer->movi_start,(int)demuxer->movi_end);
56 if(demuxer->stream->end_pos) demuxer->movi_end=demuxer->stream->end_pos;
56 if(index_mode==-2) break; // reading from non-seekable source (stdin) 57 if(index_mode==-2) break; // reading from non-seekable source (stdin)
57 len=(len+1)&(~1); 58 len=(len+1)&(~1);
58 stream_skip(demuxer->stream,len); 59 stream_skip(demuxer->stream,len);
59 } 60 }
60 continue; 61 continue;