# HG changeset patch # User arpi # Date 997284040 0 # Node ID 891d8b59f2f18ecd97d824641c16e22632df3162 # Parent d377ea93892d9e425aac21b5bcf83b71fb67df87 changed chunkid/size check diff -r d377ea93892d -r 891d8b59f2f1 demux_avi.c --- a/demux_avi.c Wed Aug 08 13:38:16 2001 +0000 +++ b/demux_avi.c Wed Aug 08 15:20:40 2001 +0000 @@ -194,15 +194,17 @@ if(stream_eof(demux->stream)) return 0; // EOF! if(id!=idx->ckid){ - printf("ChunkID mismatch! raw=%.4s idx=%.4s \n",(char *)&id,(char *)&idx->ckid); - continue; + if(verbose) printf("ChunkID mismatch! raw=%.4s idx=%.4s \n",(char *)&id,(char *)&idx->ckid); + id=idx->ckid; +// continue; } len=stream_read_dword_le(demux->stream); // if((len&(~1))!=(idx->dwChunkLength&(~1))){ // if((len)!=(idx->dwChunkLength)){ if((len!=idx->dwChunkLength)&&((len+1)!=idx->dwChunkLength)){ - printf("ChunkSize mismatch! raw=%d idx=%ld \n",len,idx->dwChunkLength); - continue; + if(verbose) printf("ChunkSize mismatch! raw=%d idx=%ld \n",len,idx->dwChunkLength); + len=idx->dwChunkLength; +// continue; } if(idx->dwFlags&AVIIF_KEYFRAME) flags=1; } else { @@ -282,15 +284,17 @@ if(stream_eof(demux->stream)) return 0; if(id!=idx->ckid){ - printf("ChunkID mismatch! raw=%.4s idx=%.4s \n",(char *)&id,(char *)&idx->ckid); - continue; + if(verbose) printf("ChunkID mismatch! raw=%.4s idx=%.4s \n",(char *)&id,(char *)&idx->ckid); + id=idx->ckid; +// continue; } len=stream_read_dword_le(demux->stream); // if((len&(~1))!=(idx->dwChunkLength&(~1))){ // if((len)!=(idx->dwChunkLength)){ if((len!=idx->dwChunkLength)&&((len+1)!=idx->dwChunkLength)){ - printf("ChunkSize mismatch! raw=%d idx=%ld \n",len,idx->dwChunkLength); - continue; + if(verbose) printf("ChunkSize mismatch! raw=%d idx=%ld \n",len,idx->dwChunkLength); + len=idx->dwChunkLength; +// continue; } if(idx->dwFlags&AVIIF_KEYFRAME) flags=1; } else return 0;