diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-08-08 15:20:40 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-08-08 15:20:40 +0000 |
commit | c5dbf8a807fff7639be97e9de2a45f7b3b8ba30e (patch) | |
tree | 50975e3dd260abdf3df3b2b2fd58da12691a6746 | |
parent | 2e588cdaded43e8c6055d71e4ba7dd3344b0df5b (diff) | |
download | mpv-c5dbf8a807fff7639be97e9de2a45f7b3b8ba30e.tar.bz2 mpv-c5dbf8a807fff7639be97e9de2a45f7b3b8ba30e.tar.xz |
changed chunkid/size check
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1465 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | demux_avi.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/demux_avi.c b/demux_avi.c index 70cbb5a961..36adfeec82 100644 --- a/demux_avi.c +++ b/demux_avi.c @@ -194,15 +194,17 @@ do{ 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 @@ do{ 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; |