From 271cabe6a5bd8342b56ab855d033abba63dfead6 Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 25 Jan 2016 20:47:13 +0100 Subject: video: cleanup pts/dts passing between decoder components Instead of using semi-public codec_pts/codec_dts fields in struct dec_video, pass them via mp_image fields. --- video/decode/dec_video.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'video/decode/dec_video.c') diff --git a/video/decode/dec_video.c b/video/decode/dec_video.c index f28871c6bb..1d2806f17a 100644 --- a/video/decode/dec_video.c +++ b/video/decode/dec_video.c @@ -310,18 +310,20 @@ static struct mp_image *decode_packet(struct dec_video *d_video, } // Note: the PTS is reordered, but the DTS is not. Both should be monotonic. - double pts = d_video->codec_pts; - double dts = d_video->codec_dts; + double pts = mpi->pts; + double dts = mpi->dts; if (pts == MP_NOPTS_VALUE) { d_video->codec_pts = prev_codec_pts; } else if (pts < prev_codec_pts) { + d_video->codec_pts = mpi->pts; d_video->num_codec_pts_problems++; } if (dts == MP_NOPTS_VALUE) { d_video->codec_dts = prev_codec_dts; } else if (dts <= prev_codec_dts) { + d_video->codec_dts = mpi->dts; d_video->num_codec_dts_problems++; } -- cgit v1.2.3