summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/pcm.h13
-rw-r--r--include/sound/asound.h12
-rw-r--r--src/pcm/pcm.c12
3 files changed, 34 insertions, 3 deletions
diff --git a/include/pcm.h b/include/pcm.h
index 1ce91e7d..22356784 100644
--- a/include/pcm.h
+++ b/include/pcm.h
@@ -475,7 +475,7 @@ int snd_pcm_link(snd_pcm_t *pcm1, snd_pcm_t *pcm2);
int snd_pcm_unlink(snd_pcm_t *pcm);
/** channel mapping API version number */
-#define SND_CHMAP_API_VERSION ((1 << 16) | (0 << 8) | 0)
+#define SND_CHMAP_API_VERSION ((1 << 16) | (0 << 8) | 1)
/** channel map list type */
enum snd_pcm_chmap_type {
@@ -516,7 +516,16 @@ enum snd_pcm_chmap_position {
SND_CHMAP_TRL, /** top rear left */
SND_CHMAP_TRR, /** top rear right */
SND_CHMAP_TRC, /** top rear center */
- SND_CHMAP_LAST = SND_CHMAP_TRC, /** last entry */
+ SND_CHMAP_TFLC, /* top front left center */
+ SND_CHMAP_TFRC, /* top front right center */
+ SND_CHMAP_TSL, /* top side left */
+ SND_CHMAP_TSR, /* top side right */
+ SND_CHMAP_LLFE, /* left LFE */
+ SND_CHMAP_RLFE, /* right LFE */
+ SND_CHMAP_BC, /* bottom center */
+ SND_CHMAP_BLC, /* bottom left center */
+ SND_CHMAP_BRC, /* bottom right center */
+ SND_CHMAP_LAST = SND_CHMAP_BRC,
};
/** bitmask for channel position */
diff --git a/include/sound/asound.h b/include/sound/asound.h
index 515b8fcd..1774a5c3 100644
--- a/include/sound/asound.h
+++ b/include/sound/asound.h
@@ -492,7 +492,17 @@ enum {
SNDRV_CHMAP_TRL, /* top rear left */
SNDRV_CHMAP_TRR, /* top rear right */
SNDRV_CHMAP_TRC, /* top rear center */
- SNDRV_CHMAP_LAST = SNDRV_CHMAP_TRC,
+ /* new definitions for UAC2 */
+ SNDRV_CHMAP_TFLC, /* top front left center */
+ SNDRV_CHMAP_TFRC, /* top front right center */
+ SNDRV_CHMAP_TSL, /* top side left */
+ SNDRV_CHMAP_TSR, /* top side right */
+ SNDRV_CHMAP_LLFE, /* left LFE */
+ SNDRV_CHMAP_RLFE, /* right LFE */
+ SNDRV_CHMAP_BC, /* bottom center */
+ SNDRV_CHMAP_BLC, /* bottom left center */
+ SNDRV_CHMAP_BRC, /* bottom right center */
+ SNDRV_CHMAP_LAST = SNDRV_CHMAP_BRC,
};
#define SNDRV_CHMAP_POSITION_MASK 0xffff
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
index e16b07f4..d6167055 100644
--- a/src/pcm/pcm.c
+++ b/src/pcm/pcm.c
@@ -7434,6 +7434,9 @@ static const char *chmap_names[SND_CHMAP_LAST + 1] = {
_NAME(FLH), _NAME(FCH), _NAME(FRH), _NAME(TC),
_NAME(TFL), _NAME(TFR), _NAME(TFC),
_NAME(TRL), _NAME(TRR), _NAME(TRC),
+ _NAME(TFLC), _NAME(TFRC), _NAME(TSL), _NAME(TSR),
+ _NAME(LLFE), _NAME(RLFE),
+ _NAME(BC), _NAME(BLC), _NAME(BRC),
};
#undef _NAME
#endif
@@ -7480,6 +7483,15 @@ static const char *chmap_long_names[SND_CHMAP_LAST + 1] = {
[SND_CHMAP_TRL] = "Top Rear Left",
[SND_CHMAP_TRR] = "Top Rear Right",
[SND_CHMAP_TRC] = "Top Rear Center",
+ [SND_CHMAP_TFLC] = "Top Front Left Center",
+ [SND_CHMAP_TFRC] = "Top Front Right Center",
+ [SND_CHMAP_TSL] = "Top Side Left",
+ [SND_CHMAP_TSR] = "Top Side Right",
+ [SND_CHMAP_LLFE] = "Left LFE",
+ [SND_CHMAP_RLFE] = "Right LFE",
+ [SND_CHMAP_BC] = "Bottom Center",
+ [SND_CHMAP_BLC] = "Bottom Left Center",
+ [SND_CHMAP_BRC] = "Bottom Right Center",
};
/**