ffmpeg: use the frame rate computed by lavfi.
authorNicolas George <nicolas.george@normalesup.org>
Tue, 5 Jun 2012 10:43:33 +0000 (12:43 +0200)
committerNicolas George <nicolas.george@normalesup.org>
Sat, 9 Jun 2012 06:42:50 +0000 (08:42 +0200)
This frame rate is more reliable than the one copied
from the input stream, so it is used in priority.

ffmpeg.c

index 1611536..c73f286 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2915,6 +2915,8 @@ static int transcode_init(void)
             ost->encoding_needed = 1;
 
             if (codec->codec_type == AVMEDIA_TYPE_VIDEO) {
+                if (ost->filter && !ost->frame_rate.num)
+                    ost->frame_rate = av_buffersink_get_frame_rate(ost->filter->filter);
                 if (ist && !ost->frame_rate.num)
                     ost->frame_rate = ist->st->r_frame_rate.num ? ist->st->r_frame_rate : (AVRational){25, 1};
                 if (ost->enc && ost->enc->supported_framerates && !ost->force_fps) {