From c8f0b20b4a6bb6691928789d83e4b02896969848 Mon Sep 17 00:00:00 2001
From: Luca Barbato <lu_zero@gentoo.org>
Date: Sat, 27 Jul 2013 15:48:41 +0200
Subject: avidec: Let the inner dv demuxer take care of discarding

CC: libav-stable@libav.org
---
 libavformat/avidec.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

(limited to 'libavformat')

diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 85a9973319..26deb31ec2 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -984,9 +984,12 @@ start_sync:
                 }
             }
 
-            if ((st->discard >= AVDISCARD_DEFAULT && size == 0)
-                /* || (st->discard >= AVDISCARD_NONKEY && !(pkt->flags & AV_PKT_FLAG_KEY)) */ // FIXME: needs a little reordering
-                || st->discard >= AVDISCARD_ALL) {
+            if (!avi->dv_demux &&
+                ((st->discard >= AVDISCARD_DEFAULT && size == 0) /* ||
+                 // FIXME: needs a little reordering
+                 (st->discard >= AVDISCARD_NONKEY &&
+                 !(pkt->flags & AV_PKT_FLAG_KEY)) */
+                || st->discard >= AVDISCARD_ALL)) {
                 if (!exit_early) {
                     ast->frame_offset += get_duration(ast, size);
                 }
-- 
cgit v1.2.3