ffmpeg: Fix shortest with libx264
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 18 Dec 2012 23:08:37 +0000 (00:08 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 18 Dec 2012 23:08:37 +0000 (00:08 +0100)
Encoders that buffer a significant number of frames where a "few"
frames off with -shortest

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c

index 36e9c2b..feff2c4 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -597,9 +597,8 @@ static void close_output_stream(OutputStream *ost)
 
     ost->finished = 1;
     if (of->shortest) {
-        int i;
-        for (i = 0; i < of->ctx->nb_streams; i++)
-            output_streams[of->ost_index + i]->finished = 1;
+        int64_t end = av_rescale_q(ost->sync_opts - ost->first_pts, ost->st->codec->time_base, AV_TIME_BASE_Q);
+        of->recording_time = FFMIN(of->recording_time, end);
     }
 }