aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-05-28 08:39:10 +0200
committerAnton Khirnov <anton@khirnov.net>2012-06-10 08:03:11 +0200
commit5df320e167dc5b5a6fa46e2d1d59f51263dea181 (patch)
tree3b47c463e63294b0cd3cbb9ee48c194eb97e55e9
parent406b257de936b59f1fc943e399fbf1289fec6b95 (diff)
downloadffmpeg-5df320e167dc5b5a6fa46e2d1d59f51263dea181.tar.gz
audioconvert: add a function for getting the name of a single channel.
-rw-r--r--libavutil/audioconvert.c11
-rw-r--r--libavutil/audioconvert.h7
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);
+
+/**
* @}
*/