Commit 511e10f6 authored by Michael Niedermayer's avatar Michael Niedermayer

avformat/avidec: Move packet skip after prefix and related checks

This fixes loosing packets
Fixes: big.avi
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 84786e92
......@@ -1265,19 +1265,6 @@ start_sync:
}
}
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);
goto start_sync;
}
}
if (d[2] == 'p' && d[3] == 'c' && size <= 4 * 256 + 4) {
int k = avio_r8(pb);
int last = (k + avio_r8(pb) - 1) & 0xFF;
......@@ -1304,6 +1291,18 @@ start_sync:
ast->prefix_count = 0;
}
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)) {
ast->frame_offset += get_duration(ast, size);
avio_skip(pb, size);
goto start_sync;
}
avi->stream_index = n;
ast->packet_size = size + 8;
ast->remaining = size;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment