bluez5: Complete BAP audio location mapping

This commit is contained in:
Frédéric Danis 2022-07-19 08:36:17 +02:00 committed by Wim Taymans
parent f428b13d06
commit 39ef812ed5
2 changed files with 53 additions and 1 deletions

View file

@ -73,8 +73,34 @@
#define LC3_CONFIG_CHNL_NOT_ALLOWED 0x00000000
#define LC3_CONFIG_CHNL_FL 0x00000001 /* front left */
#define LC3_CONFIG_CHNL_FR 0x00000002 /* front right */
#define LC3_CONFIG_CHNL_FC 0x00000004 /* front center */
#define LC3_CONFIG_CHNL_LFE 0x00000008 /* LFE */
#define LC3_CONFIG_CHNL_BL 0x00000010 /* back left */
#define LC3_CONFIG_CHNL_BR 0x00000020 /* back right */
#define LC3_CONFIG_CHNL_FLC 0x00000040 /* front left center */
#define LC3_CONFIG_CHNL_FRC 0x00000080 /* front right center */
#define LC3_CONFIG_CHNL_BC 0x00000100 /* back center */
#define LC3_CONFIG_CHNL_LFE2 0x00000200 /* LFE 2 */
#define LC3_CONFIG_CHNL_SL 0x00000400 /* side left */
#define LC3_CONFIG_CHNL_SR 0x00000800 /* side right */
#define LC3_CONFIG_CHNL_TFL 0x00001000 /* top front left */
#define LC3_CONFIG_CHNL_TFR 0x00002000 /* top front right */
#define LC3_CONFIG_CHNL_TFC 0x00004000 /* top front center */
#define LC3_CONFIG_CHNL_TC 0x00008000 /* top center */
#define LC3_CONFIG_CHNL_TBL 0x00010000 /* top back left */
#define LC3_CONFIG_CHNL_TBR 0x00020000 /* top back right */
#define LC3_CONFIG_CHNL_TSL 0x00040000 /* top side left */
#define LC3_CONFIG_CHNL_TSR 0x00080000 /* top side right */
#define LC3_CONFIG_CHNL_TBC 0x00100000 /* top back center */
#define LC3_CONFIG_CHNL_BFC 0x00200000 /* bottom front center */
#define LC3_CONFIG_CHNL_BFL 0x00400000 /* bottom front left */
#define LC3_CONFIG_CHNL_BFR 0x00800000 /* bottom front right */
#define LC3_CONFIG_CHNL_FLW 0x01000000 /* front left wide */
#define LC3_CONFIG_CHNL_FRW 0x02000000 /* front right wide */
#define LC3_CONFIG_CHNL_LS 0x04000000 /* left surround */
#define LC3_CONFIG_CHNL_RS 0x08000000 /* right surround */
#define LC3_MAX_CHANNELS 2
#define LC3_MAX_CHANNELS 28
typedef struct {
uint8_t rate;

View file

@ -350,6 +350,32 @@ static uint8_t channels_to_positions(uint32_t channels, uint8_t n_channels, uint
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_FL, SPA_AUDIO_CHANNEL_FL);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_FR, SPA_AUDIO_CHANNEL_FR);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_FC, SPA_AUDIO_CHANNEL_FC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_LFE, SPA_AUDIO_CHANNEL_LFE);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_BL, SPA_AUDIO_CHANNEL_RL);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_BR, SPA_AUDIO_CHANNEL_RR);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_FLC, SPA_AUDIO_CHANNEL_FLC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_FRC, SPA_AUDIO_CHANNEL_FRC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_BC, SPA_AUDIO_CHANNEL_BC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_LFE2, SPA_AUDIO_CHANNEL_LFE2);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_SL, SPA_AUDIO_CHANNEL_SL);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_SR, SPA_AUDIO_CHANNEL_SR);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_TFL, SPA_AUDIO_CHANNEL_TFL);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_TFR, SPA_AUDIO_CHANNEL_TFR);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_TFC, SPA_AUDIO_CHANNEL_TFC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_TC, SPA_AUDIO_CHANNEL_TC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_TBL, SPA_AUDIO_CHANNEL_TRL);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_TBR, SPA_AUDIO_CHANNEL_TRR);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_TSL, SPA_AUDIO_CHANNEL_TSL);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_TSR, SPA_AUDIO_CHANNEL_TSR);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_TBC, SPA_AUDIO_CHANNEL_TRC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_BFC, SPA_AUDIO_CHANNEL_BC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_BFL, SPA_AUDIO_CHANNEL_BLC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_BFR, SPA_AUDIO_CHANNEL_BRC);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_FLW, SPA_AUDIO_CHANNEL_FLW);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_FRW, SPA_AUDIO_CHANNEL_FRW);
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_LS, SPA_AUDIO_CHANNEL_LLFE); /* is it the right mapping? */
CHANNEL_2_SPACHANNEL(LC3_CONFIG_CHNL_RS, SPA_AUDIO_CHANNEL_RLFE); /* is it the right mapping? */
#undef CHANNEL_2_SPACHANNEL
}