diff options
Diffstat (limited to 'libavutil')
-rw-r--r-- | libavutil/audioconvert.c | 11 | ||||
-rw-r--r-- | libavutil/audioconvert.h | 7 |
2 files changed, 18 insertions, 0 deletions
diff --git a/libavutil/audioconvert.c b/libavutil/audioconvert.c index 9e2f812d7c..36d07ee5a4 100644 --- a/libavutil/audioconvert.c +++ b/libavutil/audioconvert.c @@ -202,3 +202,14 @@ int av_get_channel_layout_channel_index(uint64_t channel_layout, channel_layout &= channel - 1; return av_get_channel_layout_nb_channels(channel_layout); } + +const char *av_get_channel_name(uint64_t channel) +{ + int i; + if (av_get_channel_layout_nb_channels(channel) != 1) + return NULL; + for (i = 0; i < 64; i++) + if ((1ULL<<i) & channel) + return get_channel_name(i); + return NULL; +} diff --git a/libavutil/audioconvert.h b/libavutil/audioconvert.h index 6f6b4447ef..e516ae8296 100644 --- a/libavutil/audioconvert.h +++ b/libavutil/audioconvert.h @@ -156,6 +156,13 @@ int av_get_channel_layout_channel_index(uint64_t channel_layout, uint64_t channel); /** + * Get the name of a given channel. + * + * @return channel name on success, NULL on error. + */ +const char *av_get_channel_name(uint64_t channel); + +/** * @} */ |