summaryrefslogtreecommitdiff
path: root/libavformat/avidec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-07-28 13:13:47 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-07-28 13:15:21 +0200
commit3afcddcff2bc55b165bb49a0758883c633296a02 (patch)
treeb6e10a7da17402308dd0365b9a98474b41093818 /libavformat/avidec.c
parentd781220991135811c6b0803cb7d02675c3e1e50a (diff)
parentc8f0b20b4a6bb6691928789d83e4b02896969848 (diff)
Merge commit 'c8f0b20b4a6bb6691928789d83e4b02896969848'
* commit 'c8f0b20b4a6bb6691928789d83e4b02896969848': avidec: Let the inner dv demuxer take care of discarding Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/avidec.c')
-rw-r--r--libavformat/avidec.c9
1 files changed, 6 insertions, 3 deletions
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);