[FFmpeg-cvslog] fftools/ffmpeg_filter: do not assume av_buffersrc_get_nb_failed_requests()>0

Anton Khirnov git at videolan.org
Tue Mar 12 10:49:29 EET 2024


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Mar  7 15:21:30 2024 +0100| [ce178be8b0caf3255ceeeff14a8c3619dac5cc8a] | committer: Anton Khirnov

fftools/ffmpeg_filter: do not assume av_buffersrc_get_nb_failed_requests()>0

Apparently it can happen that avfilter_graph_request_oldest() returns
EAGAIN, yet av_buffersrc_get_nb_failed_requests() returns 0 for every
input.

Works around #10795, though the root issue is most likely in the
scale2ref filter.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ce178be8b0caf3255ceeeff14a8c3619dac5cc8a
---

 fftools/ffmpeg_filter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index 960393b943..65574809bf 100644
--- a/fftools/ffmpeg_filter.c
+++ b/fftools/ffmpeg_filter.c
@@ -1889,7 +1889,7 @@ static void send_command(FilterGraph *fg, AVFilterGraph *graph,
 
 static int choose_input(const FilterGraph *fg, const FilterGraphThread *fgt)
 {
-    int nb_requests, nb_requests_max = 0;
+    int nb_requests, nb_requests_max = -1;
     int best_input = -1;
 
     for (int i = 0; i < fg->nb_inputs; i++) {



More information about the ffmpeg-cvslog mailing list