[alsa-devel] [PATCH 2/3] speaker-test: Always show chmap channel names if available

Anssi Hannula anssi.hannula at iki.fi
Sun Nov 10 19:29:18 CET 2013

Currently speaker-test only uses channel names retrieved by
snd_pcm_chmap_long_name() when a channel map has been manually set.

However, the device may provide a default (or fixed) channel map that
differs from the traditional ALSA map, in which case wrong channel names
are shown.

Fix that by always using the name from the channel map when a channel
map is present.

Note that the names retrieved by snd_pcm_chmap_long_name() are not
currently localized via gettext.

Also note that Linux kernel HDMI driver reported wrong default channel
maps before 56cac413dd6d43af8355f5d1f90a199b540f73fc ("ALSA: hda - hdmi:
Fix reported channel map on common default layouts").

Signed-off-by: Anssi Hannula <anssi.hannula at iki.fi>
 speaker-test/speaker-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
index 274007d..82cc3b1 100644
--- a/speaker-test/speaker-test.c
+++ b/speaker-test/speaker-test.c
@@ -254,7 +254,7 @@ static int get_speaker_channel(int chn)
 static const char *get_channel_name(int chn)
-  if (channel_map_set && chn < channel_map->channels) {
+  if (channel_map && chn < channel_map->channels) {
     const char *name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
     return name ? name : "Unknown";

More information about the Alsa-devel mailing list