[FFmpeg-cvslog] lavf/concatdec: handle NOPTS start_time.
Nicolas George
git at videolan.org
Mon Dec 15 20:06:50 CET 2014
ffmpeg | branch: master | Nicolas George <george at nsup.org> | Mon Dec 15 18:42:41 2014 +0100| [acbc2ed26ab6d1f3fbd0db3c594672561a692d99] | committer: Michael Niedermayer
lavf/concatdec: handle NOPTS start_time.
Fix trac ticket #3598.
Signed-off-by: Nicolas George <george at nsup.org>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=acbc2ed26ab6d1f3fbd0db3c594672561a692d99
---
libavformat/concatdec.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c
index a2584d7..e109524 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)
More information about the ffmpeg-cvslog
mailing list