aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/utils.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-03-08 02:42:10 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-03-26 21:52:47 +0100
commit756f4b586ae758f11d4b115e5b4595cdef1d3af3 (patch)
tree0a3550e165b69de80826dc203018251d6314affa /libavformat/utils.c
parent56c4dca5ae7831a972fda57596c8fee8fa2b0451 (diff)
downloadffmpeg-756f4b586ae758f11d4b115e5b4595cdef1d3af3.tar.gz
avformat/utils: fix dts from pts code in compute_pkt_fields() during ascending delay
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit de1de4932419d0fb49c9c23f62e68cdbe90d0ee3) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r--libavformat/utils.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 129a49d699..3aa5beb6b1 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1186,12 +1186,13 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
}
}
- if (pkt->pts != AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY && has_decode_delay_been_guessed(st)) {
+ if (pkt->pts != AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY) {
st->pts_buffer[0] = pkt->pts;
for (i = 0; i<delay && st->pts_buffer[i] > st->pts_buffer[i + 1]; i++)
FFSWAP(int64_t, st->pts_buffer[i], st->pts_buffer[i + 1]);
- pkt->dts = select_from_pts_buffer(st, st->pts_buffer, pkt->dts);
+ if(has_decode_delay_been_guessed(st))
+ pkt->dts = select_from_pts_buffer(st, st->pts_buffer, pkt->dts);
}
// We skipped it above so we try here.
if (!onein_oneout)