You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
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 <nfxjfg@googlemail.com>
This commit is contained in:
11
ffmpeg.c
11
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");
|
av_log(NULL, AV_LOG_ERROR, "Error reinitializing filters!\n");
|
||||||
return ret;
|
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);
|
ret = av_buffersrc_add_frame_flags(ifilter->filter, frame, AV_BUFFERSRC_FLAG_PUSH);
|
||||||
|
@@ -1117,6 +1117,17 @@ int configure_filtergraph(FilterGraph *fg)
|
|||||||
ost->enc_ctx->frame_size);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user