diff options
author | James Almer <jamrial@gmail.com> | 2022-03-25 08:37:44 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2022-03-25 08:38:19 -0300 |
commit | 6e04ace7fe470f1351d8acd1af464d3688b4c115 (patch) | |
tree | 48ed30312257a3c417807c07e9aaf8938d8047d9 /libavutil | |
parent | fa12d808d7239d120a3b43b6fb7e106db4e46d30 (diff) |
avutil/channel_layout: don't try to print NULL string pointers in av_channel_{name,description}
Instead fallback to print USR%d for channels id < 64 without a known name.
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavutil')
-rw-r--r-- | libavutil/channel_layout.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index bc1c841ad8..2d4ccae1bf 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -89,7 +89,8 @@ void av_channel_name_bprint(AVBPrint *bp, enum AVChannel channel_id) if (channel_id >= AV_CHAN_AMBISONIC_BASE && channel_id <= AV_CHAN_AMBISONIC_END) av_bprintf(bp, "AMBI%d", channel_id - AV_CHAN_AMBISONIC_BASE); - else if ((unsigned)channel_id < FF_ARRAY_ELEMS(channel_names)) + else if ((unsigned)channel_id < FF_ARRAY_ELEMS(channel_names) && + channel_names[channel_id].name) av_bprintf(bp, "%s", channel_names[channel_id].name); else if (channel_id == AV_CHAN_NONE) av_bprintf(bp, "NONE"); @@ -115,7 +116,8 @@ void av_channel_description_bprint(AVBPrint *bp, enum AVChannel channel_id) if (channel_id >= AV_CHAN_AMBISONIC_BASE && channel_id <= AV_CHAN_AMBISONIC_END) av_bprintf(bp, "ambisonic ACN %d", channel_id - AV_CHAN_AMBISONIC_BASE); - else if ((unsigned)channel_id < FF_ARRAY_ELEMS(channel_names)) + else if ((unsigned)channel_id < FF_ARRAY_ELEMS(channel_names) && + channel_names[channel_id].description) av_bprintf(bp, "%s", channel_names[channel_id].description); else av_bprintf(bp, "user %d", channel_id); |