1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-10 06:10:52 +02:00

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>
This commit is contained in:
James Almer
2022-03-25 08:37:44 -03:00
parent fa12d808d7
commit 6e04ace7fe

View File

@@ -89,7 +89,8 @@ void av_channel_name_bprint(AVBPrint *bp, enum AVChannel channel_id)
if (channel_id >= AV_CHAN_AMBISONIC_BASE && if (channel_id >= AV_CHAN_AMBISONIC_BASE &&
channel_id <= AV_CHAN_AMBISONIC_END) channel_id <= AV_CHAN_AMBISONIC_END)
av_bprintf(bp, "AMBI%d", channel_id - AV_CHAN_AMBISONIC_BASE); 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); av_bprintf(bp, "%s", channel_names[channel_id].name);
else if (channel_id == AV_CHAN_NONE) else if (channel_id == AV_CHAN_NONE)
av_bprintf(bp, "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 && if (channel_id >= AV_CHAN_AMBISONIC_BASE &&
channel_id <= AV_CHAN_AMBISONIC_END) channel_id <= AV_CHAN_AMBISONIC_END)
av_bprintf(bp, "ambisonic ACN %d", channel_id - AV_CHAN_AMBISONIC_BASE); 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); av_bprintf(bp, "%s", channel_names[channel_id].description);
else else
av_bprintf(bp, "user %d", channel_id); av_bprintf(bp, "user %d", channel_id);