ffmpeg: When streamcopying, only add the input seek position when copying timestamps.
authorSimon Thelen <ffmpeg-dev@c-14.de>
Sun, 22 Nov 2015 14:03:17 +0000 (15:03 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Sat, 5 Dec 2015 03:24:22 +0000 (04:24 +0100)
Using -ss as an input option shifts timestamps down by the seek, so it
doesn't have to be added to the recording time when checking whether to
stop.

Fixes #977

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
ffmpeg.c

index 82d9a6c..a866f72 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1831,7 +1831,7 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
 
     if (f->recording_time != INT64_MAX) {
         start_time = f->ctx->start_time;
-        if (f->start_time != AV_NOPTS_VALUE)
+        if (f->start_time != AV_NOPTS_VALUE && copy_ts)
             start_time += f->start_time;
         if (ist->pts >= f->recording_time + start_time) {
             close_output_stream(ost);