From 1ea2e757f7cba714eefd27efb2f9285078bba4a3 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 24 Jan 2024 10:42:13 +0100 Subject: [PATCH] fftools/ffmpeg_filter: do not end filtering when a graph input EOFs There may be other inputs or sources in the filtergraph. Propagate the EOF to the scheduler and continue filtering. Fixes #10803 --- fftools/ffmpeg_filter.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 82ee4fae7d..ab64b4610a 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -2871,6 +2871,12 @@ static void *filter_thread(void *arg) ret = send_eof(&fgt, ifilter, fgt.frame->pts, fgt.frame->time_base); } av_frame_unref(fgt.frame); + if (ret == AVERROR_EOF) { + av_log(fg, AV_LOG_VERBOSE, "Input %u no longer accepts new data\n", + input_idx); + sch_filter_receive_finish(fgp->sch, fgp->sch_idx, input_idx); + continue; + } if (ret < 0) goto finish;