From a582705d15409cdffe87d7bbbd1d58aa03bc6f73 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 16 Jan 2015 20:43:57 +0100 Subject: ffmpeg: Favor filter graph based duration over ost->frame_rate in fps code The fate change adds a last frame with a subtitle not displayed in the previous Signed-off-by: Michael Niedermayer --- ffmpeg.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'ffmpeg.c') diff --git a/ffmpeg.c b/ffmpeg.c index 2501e2c6a7..633daddeea 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -900,15 +900,12 @@ static void do_video_out(AVFormatContext *s, if (ost->source_index >= 0) ist = input_streams[ost->source_index]; - if(ist && ist->st->start_time != AV_NOPTS_VALUE && ist->st->first_dts != AV_NOPTS_VALUE && ost->frame_rate.num) - duration = 1/(av_q2d(ost->frame_rate) * av_q2d(enc->time_base)); - - // We take the conservative approuch here and take the minimum even though - // this should be correct on its own but a value too small is harmless, one - // too big can lead to errors if (filter->inputs[0]->frame_rate.num > 0 && filter->inputs[0]->frame_rate.den > 0) - duration = FFMIN(duration, 1/(av_q2d(filter->inputs[0]->frame_rate) * av_q2d(enc->time_base))); + duration = 1/(av_q2d(filter->inputs[0]->frame_rate) * av_q2d(enc->time_base)); + + if(ist && ist->st->start_time != AV_NOPTS_VALUE && ist->st->first_dts != AV_NOPTS_VALUE && ost->frame_rate.num) + duration = FFMIN(duration, 1/(av_q2d(ost->frame_rate) * av_q2d(enc->time_base))); if (!ost->filters_script && !ost->filters && -- cgit v1.2.3