mirror of https://git.ffmpeg.org/ffmpeg.git
lavfi: fix filter format negotiation loop.
query_formats() returning EAGAIN is not considered a progress in the format negotiation. If the filter returns EAGAIN but did set some of its formats lists, it could be considered a partial success and counted as progress in the negotiation. Not counting it is not a problem because it currently only happens in the first round, where there will always be some progress on the other filters.
This commit is contained in:
parent
449704b475
commit
78d16b6a51
|
@ -333,7 +333,8 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx)
|
|||
ret = ff_default_query_formats(f);
|
||||
if (ret < 0 && ret != AVERROR(EAGAIN))
|
||||
return ret;
|
||||
count_queried++;
|
||||
/* note: EAGAIN could indicate a partial success, not counted yet */
|
||||
count_queried += ret >= 0;
|
||||
}
|
||||
|
||||
/* go through and merge as many format lists as possible */
|
||||
|
|
Loading…
Reference in New Issue