From cb884f8d7e3b55cddf8a4568bddb1e5f5f86b811 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 27 Jun 2016 18:59:23 +0200 Subject: [PATCH] ffmpeg: move flushing the queued frames to configure_filtergraph() This is a more appropriate place for it, and will also be useful in the following commit. This merges Libav commit d2e56cf. It was previously skipped. Signed-off-by: wm4 --- ffmpeg.c | 11 ----------- ffmpeg_filter.c | 11 +++++++++++ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index 88f68342ed..f52d3e2f0f 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2186,17 +2186,6 @@ static int ifilter_send_frame(InputFilter *ifilter, AVFrame *frame) av_log(NULL, AV_LOG_ERROR, "Error reinitializing filters!\n"); return ret; } - - for (i = 0; i < fg->nb_inputs; i++) { - while (av_fifo_size(fg->inputs[i]->frame_queue)) { - AVFrame *tmp; - av_fifo_generic_read(fg->inputs[i]->frame_queue, &tmp, sizeof(tmp), NULL); - ret = av_buffersrc_add_frame(fg->inputs[i]->filter, tmp); - av_frame_free(&tmp); - if (ret < 0) - return ret; - } - } } ret = av_buffersrc_add_frame_flags(ifilter->filter, frame, AV_BUFFERSRC_FLAG_PUSH); diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c index f21a8c85f8..4d9a4e2eb8 100644 --- a/ffmpeg_filter.c +++ b/ffmpeg_filter.c @@ -1117,6 +1117,17 @@ int configure_filtergraph(FilterGraph *fg) ost->enc_ctx->frame_size); } + for (i = 0; i < fg->nb_inputs; i++) { + while (av_fifo_size(fg->inputs[i]->frame_queue)) { + AVFrame *tmp; + av_fifo_generic_read(fg->inputs[i]->frame_queue, &tmp, sizeof(tmp), NULL); + ret = av_buffersrc_add_frame(fg->inputs[i]->filter, tmp); + av_frame_free(&tmp); + if (ret < 0) + return ret; + } + } + return 0; }