mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
lavfi: avfilter_graph_request_oldest: request a frame again before returning.
With min_samples, if a frame arrives but is too small, it clears frame_wanted_out. In most cases, the destination filter would be activated again later because of frame_wanted_out on its own outputs, but not sinks. avfilter_graph_request_oldest() is doing the work of the sink itself, and is therefore allowed to use frame_blocked_in.
This commit is contained in:
parent
0ed4993ad0
commit
373f21a911
@ -1407,7 +1407,11 @@ int avfilter_graph_request_oldest(AVFilterGraph *graph)
|
||||
frame_count = oldest->frame_count_out;
|
||||
while (frame_count == oldest->frame_count_out) {
|
||||
r = ff_filter_graph_run_once(graph);
|
||||
if (r < 0)
|
||||
if (r == AVERROR(EAGAIN) &&
|
||||
!oldest->frame_wanted_out && !oldest->frame_blocked_in &&
|
||||
!oldest->status_in)
|
||||
ff_request_frame(oldest);
|
||||
else if (r < 0)
|
||||
return r;
|
||||
}
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user