avidec: Let the inner dv demuxer take care of discarding
authorLuca Barbato <lu_zero@gentoo.org>
Sat, 27 Jul 2013 13:48:41 +0000 (15:48 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Sat, 27 Jul 2013 14:00:11 +0000 (16:00 +0200)
CC: libav-stable@libav.org
libavformat/avidec.c

index 85a9973..26deb31 100644 (file)
@@ -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);
                 }