diff options
-rw-r--r-- | include/pcm.h | 13 | ||||
-rw-r--r-- | include/sound/asound.h | 12 | ||||
-rw-r--r-- | src/pcm/pcm.c | 12 |
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", }; /** |