From acbc2ed26ab6d1f3fbd0db3c594672561a692d99 Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Mon, 15 Dec 2014 18:42:41 +0100 Subject: [PATCH] lavf/concatdec: handle NOPTS start_time. Fix trac ticket #3598. Signed-off-by: Nicolas George Signed-off-by: Michael Niedermayer --- libavformat/concatdec.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c index a2584d70e2..e109524de1 100644 --- a/libavformat/concatdec.c +++ b/libavformat/concatdec.c @@ -478,7 +478,7 @@ static int concat_read_packet(AVFormatContext *avf, AVPacket *pkt) { ConcatContext *cat = avf->priv_data; int ret; - int64_t delta; + int64_t file_start_time, delta; ConcatStream *cs; AVStream *st; @@ -512,7 +512,10 @@ static int concat_read_packet(AVFormatContext *avf, AVPacket *pkt) av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &st->time_base), av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &st->time_base)); - delta = av_rescale_q(cat->cur_file->start_time - cat->avf->start_time, + file_start_time = cat->avf->start_time; + if (file_start_time == AV_NOPTS_VALUE) + file_start_time = 0; + delta = av_rescale_q(cat->cur_file->start_time - file_start_time, AV_TIME_BASE_Q, cat->avf->streams[pkt->stream_index]->time_base); if (pkt->pts != AV_NOPTS_VALUE)