avi: Validate the stream-id for DV as well
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 28 Nov 2015 20:06:45 +0000 (21:06 +0100)
committerLuca Barbato <lu_zero@gentoo.org>
Wed, 2 Dec 2015 22:49:10 +0000 (23:49 +0100)
Avoid false positives while syncing.

Bug-Id: ffmpeg/4086
Bug-Id: 879

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavformat/avidec.c

index 43c178f..477e045 100644 (file)
@@ -995,7 +995,7 @@ start_sync:
             goto start_sync;
         }
 
-        n = avi->dv_demux ? 0 : get_stream_idx(d);
+        n = get_stream_idx(d);
 
         if (!((i - avi->last_pkt_pos) & 1) &&
             get_stream_idx(d + 1) < s->nb_streams)
@@ -1007,6 +1007,9 @@ start_sync:
             goto start_sync;
         }
 
+        if (avi->dv_demux && n != 0)
+            continue;
+
         // parse ##dc/##wb
         if (n < s->nb_streams) {
             AVStream *st;