Browse Source

avidec: Fix demuxing of non seekable avis with multiple RIFFs

This solution uses the size of the first RIFF if its valid
to check frame size validity when the filesize could not be determined.
Feedback is welcome, other ideas and improvments as well!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.0
Michael Niedermayer 13 years ago
parent
commit
27b7bfc7b5
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavformat/avidec.c

+ 1
- 1
libavformat/avidec.c View File

@@ -944,7 +944,7 @@ start_sync:
n= get_stream_idx(d+2);
av_dlog(s, "%X %X %X %X %X %X %X %X %"PRId64" %u %d\n",
d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], i, size, n);
if(i + (uint64_t)size > avi->fsize || d[0] > 127)
if(i*(avi->io_fsize>0) + (uint64_t)size > avi->fsize || d[0] > 127)
continue;

//parse ix##


Loading…
Cancel
Save