summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--contrib/ffmpeg/A12-avi-dv.diff37
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/ffmpeg/A12-avi-dv.diff b/contrib/ffmpeg/A12-avi-dv.diff
new file mode 100644
index 000000000..1424fcc48
--- /dev/null
+++ b/contrib/ffmpeg/A12-avi-dv.diff
@@ -0,0 +1,37 @@
+commit 0fc61c6ab6912a2f0c40fdd3f3c591bc2a33efd4
+Author: Michael Niedermayer <[email protected]>
+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 <[email protected]>
+ Signed-off-by: Luca Barbato <[email protected]>
+
+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;