summary refs log tree commit diff
path: root/include/sound/asound.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-09-12 18:06:54 +0200
committerTakashi Iwai <tiwai@suse.de>2012-09-12 18:13:03 +0200
commit7b31d0095e87221dc32c95642a2a714ea08259aa (patch)
tree098dc2c137b0f9a0d098d6e7751ab350e027cd6e /include/sound/asound.h
parent0afdb8f2869610b7c2eb99d75ba8b9003b8e88d7 (diff)
downloadlinux-7b31d0095e87221dc32c95642a2a714ea08259aa.tar.gz
ALSA: Define more channel map positions
For following the standard, define more channel map positions and
shuffle the items a bit:

- As both PulseAudio and gstreamer define MONO channel position
  explicitly, we should follow that, too.  The mono streams point to
  this channel position unless they are explicitly assigned to certain
  channel positions.

- Top-front-* and Top-rear-* positions are added, carried from
  PulseAudio's definitions.

- Move NA and MONO definitions at the top of table right after
  UNKNOWN, since these are more abstract in comparison with other
  practical positions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound/asound.h')
-rw-r--r--include/sound/asound.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/sound/asound.h b/include/sound/asound.h
index 27686da0f650..dfe7d441748c 100644
--- a/include/sound/asound.h
+++ b/include/sound/asound.h
@@ -474,8 +474,10 @@ enum {
 
 /* channel positions */
 enum {
-	/* this follows the alsa-lib mixer channel value + 1 */
 	SNDRV_CHMAP_UNKNOWN = 0,
+	SNDRV_CHMAP_NA,		/* N/A, silent */
+	SNDRV_CHMAP_MONO,	/* mono stream */
+	/* this follows the alsa-lib mixer channel value + 3 */
 	SNDRV_CHMAP_FL,		/* front left */
 	SNDRV_CHMAP_FR,		/* front right */
 	SNDRV_CHMAP_RL,		/* rear left */
@@ -496,8 +498,13 @@ enum {
 	SNDRV_CHMAP_FCH,	/* front center high */
 	SNDRV_CHMAP_FRH,	/* front right high */
 	SNDRV_CHMAP_TC,		/* top center */
-	SNDRV_CHMAP_NA,		/* N/A, silent */
-	SNDRV_CHMAP_LAST = SNDRV_CHMAP_NA,
+	SNDRV_CHMAP_TFL,	/* top front left */
+	SNDRV_CHMAP_TFR,	/* top front right */
+	SNDRV_CHMAP_TFC,	/* top front center */
+	SNDRV_CHMAP_TRL,	/* top rear left */
+	SNDRV_CHMAP_TRR,	/* top rear right */
+	SNDRV_CHMAP_TRC,	/* top rear center */
+	SNDRV_CHMAP_LAST = SNDRV_CHMAP_TRC,
 };
 
 #define SNDRV_CHMAP_POSITION_MASK	0xffff