diff options
author | Thierry Foucu <tfoucu@gmail.com> | 2019-03-27 14:11:59 -0700 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2019-03-28 21:29:20 +0100 |
commit | 0ac3befd479877f11c795ecef8bf1ce2184c5a7a (patch) | |
tree | 2c73db48bb2df30580ba64a2c821f20804a6b0b6 | |
parent | c47fada298e684a07fb6ba047f6843f1cdd48aa8 (diff) | |
download | ffmpeg-0ac3befd479877f11c795ecef8bf1ce2184c5a7a.tar.gz |
fftools/ffmpeg: Check if we do have also a filter_complex filter.
Right now, the code check for no filter description, but if we use a
filter_complex, the code will use the AVFrame.duration which could be
wrong in case of using fps filter.
How to reproduce the problem:
ffmpeg -f lavfi -i testsrc=duration=1 -vf fps=fps=50 -vsync 1 -f null -
output 50 frames
ffmpeg -f lavfi -i testsrc=duration=1 -filter_complex fps=fps=50 -vsync 1 -f null -
output 51 frames
With this commit, the same command will always output 50 frames.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | fftools/ffmpeg.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 544f1a1cef..0f157d67d8 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -1079,6 +1079,7 @@ static void do_video_out(OutputFile *of, if (!ost->filters_script && !ost->filters && + (nb_filtergraphs == 0 || !filtergraphs[0]->graph_desc) && next_picture && ist && lrintf(next_picture->pkt_duration * av_q2d(ist->st->time_base) / av_q2d(enc->time_base)) > 0) { |