From 26b89f62740b2bf30bc7011af7ec0345e30761c7 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 3 May 2013 14:57:05 +0200 Subject: ffmpeg: use a max variable to hold the maximum dts Signed-off-by: Michael Niedermayer --- ffmpeg.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'ffmpeg.c') diff --git a/ffmpeg.c b/ffmpeg.c index 0e0d85d737..2ad80ba1fe 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -613,8 +613,9 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost) if (!(s->oformat->flags & AVFMT_NOTIMESTAMPS) && (avctx->codec_type == AVMEDIA_TYPE_AUDIO || avctx->codec_type == AVMEDIA_TYPE_VIDEO) && pkt->dts != AV_NOPTS_VALUE && - ost->last_mux_dts != AV_NOPTS_VALUE && - pkt->dts < ost->last_mux_dts + !(s->oformat->flags & AVFMT_TS_NONSTRICT)) { + ost->last_mux_dts != AV_NOPTS_VALUE) { + int64_t max = ost->last_mux_dts + !(s->oformat->flags & AVFMT_TS_NONSTRICT); + if (pkt->dts < max) { av_log(NULL, AV_LOG_WARNING, "Non-monotonous DTS in output stream " "%d:%d; previous: %"PRId64", current: %"PRId64"; ", ost->file_index, ost->st->index, ost->last_mux_dts, pkt->dts); @@ -628,6 +629,7 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost) pkt->dts = ost->last_mux_dts + 1; if (pkt->pts != AV_NOPTS_VALUE) pkt->pts = FFMAX(pkt->pts, pkt->dts); + } } ost->last_mux_dts = pkt->dts; -- cgit v1.2.3