summaryrefslogtreecommitdiffstats
path: root/contrib/ffmpeg/A13-avi-dv.patch
blob: 1424fcc4867cb153142395cc22876a9333ddfdd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
commit 0fc61c6ab6912a2f0c40fdd3f3c591bc2a33efd4
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Sat Nov 28 21:06:45 2015 +0100

    avi: Validate the stream-id for DV as well
    
    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>

diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 43c178f..477e045 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -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;