From b04f14136e54f2db167d341d9bda0e30d11320fd Mon Sep 17 00:00:00 2001 From: James Almer Date: Fri, 25 Mar 2022 08:42:45 -0300 Subject: [PATCH] fftools/opt_cmdutils: fix printing known channel layouts Look for the generic "USR" labels instead of "?" to skip channels with no known names, and actually print the decomposition of standard channel layouts. Signed-off-by: James Almer --- fftools/opt_common.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/fftools/opt_common.c b/fftools/opt_common.c index 5ba6a0d0f1..c303db4d09 100644 --- a/fftools/opt_common.c +++ b/fftools/opt_common.c @@ -997,7 +997,7 @@ int show_layouts(void *optctx, const char *opt, const char *arg) "NAME DESCRIPTION\n"); for (i = 0; i < 63; i++) { av_channel_name(buf, sizeof(buf), i); - if (!strcmp(buf, "?")) + if (strstr(buf, "USR")) continue; av_channel_description(buf2, sizeof(buf2), i); printf("%-14s %s\n", buf, buf2); @@ -1006,11 +1006,14 @@ int show_layouts(void *optctx, const char *opt, const char *arg) "NAME DECOMPOSITION\n"); while (ch_layout = av_channel_layout_standard(&iter)) { av_channel_layout_describe(ch_layout, buf, sizeof(buf)); - av_channel_name(buf2, sizeof(buf2), i); printf("%-14s ", buf); - for (i = 0; i < 63; i++) - if (av_channel_layout_index_from_channel(ch_layout, i) >= 0) - printf("%s%s", i ? "+" : "", buf2); + for (i = 0; i < 63; i++) { + int idx = av_channel_layout_index_from_channel(ch_layout, i); + if (idx >= 0) { + av_channel_name(buf2, sizeof(buf2), i); + printf("%s%s", idx ? "+" : "", buf2); + } + } printf("\n"); } return 0;