summary refs log tree commit diff
path: root/include/sound/tlv.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-07-27 18:27:00 +0200
committerTakashi Iwai <tiwai@suse.de>2012-09-06 18:01:16 +0200
commit2d3391ec0ecca37efb6bc995906292f47522b471 (patch)
tree129e8bce7b18bb9de48d6bc0e63806d22b40ad99 /include/sound/tlv.h
parenta8d372f171db9b90a64778fbcd9237c9bc256e06 (diff)
downloadlinux-2d3391ec0ecca37efb6bc995906292f47522b471.tar.gz
ALSA: PCM: channel mapping API implementation
This patch implements the basic data types for the standard channel
mapping API handling.

- The definitions of the channel positions and the new TLV types are
  added in sound/asound.h and sound/tlv.h, so that they can be
  referred from user-space.

- Introduced a new helper function snd_pcm_add_chmap_ctls() to create
  control elements representing the channel maps for each PCM
  (sub)stream.

- Some standard pre-defined channel maps are provided for
  convenience.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound/tlv.h')
-rw-r--r--include/sound/tlv.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/sound/tlv.h b/include/sound/tlv.h
index a64d8fe3f855..28c65e1ada21 100644
--- a/include/sound/tlv.h
+++ b/include/sound/tlv.h
@@ -86,4 +86,12 @@
 
 #define TLV_DB_GAIN_MUTE	-9999999
 
+/*
+ * channel-mapping TLV items
+ *  TLV length must match with num_channels
+ */
+#define SNDRV_CTL_TLVT_CHMAP_FIXED	0x101	/* fixed channel position */
+#define SNDRV_CTL_TLVT_CHMAP_VAR	0x102	/* channels freely swappable */
+#define SNDRV_CTL_TLVT_CHMAP_PAIRED	0x103	/* pair-wise swappable */
+
 #endif /* __SOUND_TLV_H */