diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 883407691c..af94fb382e 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -1084,9 +1084,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); avio_skip(pb, size);