1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-13 21:28:01 +02:00

avfilter/buffersink: simplify parsing the input channel layout string

And remove a stray comma in the list of supported separators.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2022-03-15 14:18:24 -03:00
parent ef2b3efd51
commit f5d67469b0

View File

@ -330,24 +330,22 @@ static int asink_query_formats(AVFilterContext *ctx)
"Conflicting ch_layouts and list of channel_counts/channel_layouts. Ignoring the former\n"); "Conflicting ch_layouts and list of channel_counts/channel_layouts. Ignoring the former\n");
else else
#endif #endif
while (cur && *cur) { while (cur) {
char *chl = av_get_token(&cur, "|,"); char *next = strchr(cur, '|');
if (!chl) if (next)
return AVERROR(ENOMEM); *next++ = 0;
if (*cur)
cur++;
ret = av_channel_layout_from_string(&layout, chl); ret = av_channel_layout_from_string(&layout, cur);
if (ret < 0) { if (ret < 0) {
av_log(ctx, AV_LOG_ERROR, "Error parsing channel layout: %s.\n", chl); av_log(ctx, AV_LOG_ERROR, "Error parsing channel layout: %s.\n", cur);
av_free(chl);
return ret; return ret;
} }
ret = ff_add_channel_layout(&layouts, &layout); ret = ff_add_channel_layout(&layouts, &layout);
av_channel_layout_uninit(&layout); av_channel_layout_uninit(&layout);
av_free(chl);
if (ret < 0) if (ret < 0)
return ret; return ret;
cur = next;
} }
} }