Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Advance Audio Distribution Profile - SBC Codec header. More...
Go to the source code of this file.
Data Structures | |
struct | bt_a2dp_codec_sbc_params |
SBC Codec. More... | |
Macros | |
#define | A2DP_SBC_SAMP_FREQ_16000 BIT(7) |
#define | A2DP_SBC_SAMP_FREQ_32000 BIT(6) |
#define | A2DP_SBC_SAMP_FREQ_44100 BIT(5) |
#define | A2DP_SBC_SAMP_FREQ_48000 BIT(4) |
#define | A2DP_SBC_CH_MODE_MONO BIT(3) |
#define | A2DP_SBC_CH_MODE_DUAL BIT(2) |
#define | A2DP_SBC_CH_MODE_STREO BIT(1) |
#define | A2DP_SBC_CH_MODE_JOINT BIT(0) |
#define | A2DP_SBC_BLK_LEN_4 BIT(7) |
#define | A2DP_SBC_BLK_LEN_8 BIT(6) |
#define | A2DP_SBC_BLK_LEN_12 BIT(5) |
#define | A2DP_SBC_BLK_LEN_16 BIT(4) |
#define | A2DP_SBC_SUBBAND_4 BIT(3) |
#define | A2DP_SBC_SUBBAND_8 BIT(2) |
#define | A2DP_SBC_ALLOC_MTHD_SNR BIT(1) |
#define | A2DP_SBC_ALLOC_MTHD_LOUDNESS BIT(0) |
#define | BT_A2DP_SBC_SAMP_FREQ(cap) ((cap->config[0] >> 4) & 0x0f) |
#define | BT_A2DP_SBC_CHAN_MODE(cap) ((cap->config[0]) & 0x0f) |
#define | BT_A2DP_SBC_BLK_LEN(cap) ((cap->config[1] >> 4) & 0x0f) |
#define | BT_A2DP_SBC_SUB_BAND(cap) ((cap->config[1] >> 2) & 0x03) |
#define | BT_A2DP_SBC_ALLOC_MTHD(cap) ((cap->config[1]) & 0x03) |
#define | BT_A2DP_SBC_MEDIA_HDR_NUM_FRAMES_GET(hdr) FIELD_GET(GENMASK(3, 0), (hdr)) |
If the F bit is set to 0, this field indicates the number of frames contained in this packet. | |
#define | BT_A2DP_SBC_MEDIA_HDR_L_GET(hdr) FIELD_GET(BIT(5), (hdr)) |
Set to 1 for the last packet of a fragmented SBC frame, otherwise set to 0. | |
#define | BT_A2DP_SBC_MEDIA_HDR_S_GET(hdr) FIELD_GET(BIT(6), (hdr)) |
Set to 1 for the starting packet of a fragmented SBC frame, otherwise set to 0. | |
#define | BT_A2DP_SBC_MEDIA_HDR_F_GET(hdr) FIELD_GET(BIT(7), (hdr)) |
Set to 1 if the SBC frame is fragmented, otherwise set to 0. | |
#define | BT_A2DP_SBC_MEDIA_HDR_NUM_FRAMES_SET(hdr, val) hdr = ((hdr) & ~GENMASK(3, 0)) | FIELD_PREP(GENMASK(3, 0), (val)) |
If the F bit is set to 0, this field indicates the number of frames contained in this packet. | |
#define | BT_A2DP_SBC_MEDIA_HDR_L_SET(hdr, val) hdr = ((hdr) & ~BIT(5)) | FIELD_PREP(BIT(5), (val)) |
Set to 1 for the last packet of a fragmented SBC frame, otherwise set to 0. | |
#define | BT_A2DP_SBC_MEDIA_HDR_S_SET(hdr, val) hdr = ((hdr) & ~BIT(6)) | FIELD_PREP(BIT(6), (val)) |
Set to 1 for the starting packet of a fragmented SBC frame, otherwise set to 0. | |
#define | BT_A2DP_SBC_MEDIA_HDR_F_SET(hdr, val) hdr = ((hdr) & ~BIT(7)) | FIELD_PREP(BIT(7), (val)) |
Set to 1 if the SBC frame is fragmented, otherwise set to 0. | |
#define | BT_A2DP_SBC_MEDIA_HDR_ENCODE(num_frames, l, s, f) |
Functions | |
uint8_t | bt_a2dp_sbc_get_channel_num (struct bt_a2dp_codec_sbc_params *sbc_codec) |
get channel num of a2dp sbc config. | |
uint32_t | bt_a2dp_sbc_get_sampling_frequency (struct bt_a2dp_codec_sbc_params *sbc_codec) |
get sample rate of a2dp sbc config. | |
Advance Audio Distribution Profile - SBC Codec header.
#define A2DP_SBC_ALLOC_MTHD_LOUDNESS BIT(0) |
#define A2DP_SBC_ALLOC_MTHD_SNR BIT(1) |
#define A2DP_SBC_BLK_LEN_12 BIT(5) |
#define A2DP_SBC_BLK_LEN_16 BIT(4) |
#define A2DP_SBC_BLK_LEN_4 BIT(7) |
#define A2DP_SBC_BLK_LEN_8 BIT(6) |
#define A2DP_SBC_CH_MODE_DUAL BIT(2) |
#define A2DP_SBC_CH_MODE_JOINT BIT(0) |
#define A2DP_SBC_CH_MODE_MONO BIT(3) |
#define A2DP_SBC_CH_MODE_STREO BIT(1) |
#define A2DP_SBC_SAMP_FREQ_16000 BIT(7) |
#define A2DP_SBC_SAMP_FREQ_32000 BIT(6) |
#define A2DP_SBC_SAMP_FREQ_44100 BIT(5) |
#define A2DP_SBC_SAMP_FREQ_48000 BIT(4) |
#define A2DP_SBC_SUBBAND_4 BIT(3) |
#define A2DP_SBC_SUBBAND_8 BIT(2) |
#define BT_A2DP_SBC_ALLOC_MTHD | ( | cap | ) | ((cap->config[1]) & 0x03) |
#define BT_A2DP_SBC_BLK_LEN | ( | cap | ) | ((cap->config[1] >> 4) & 0x0f) |
#define BT_A2DP_SBC_CHAN_MODE | ( | cap | ) | ((cap->config[0]) & 0x0f) |
Set to 1 if the SBC frame is fragmented, otherwise set to 0.
#define BT_A2DP_SBC_MEDIA_HDR_F_SET | ( | hdr, | |
val | |||
) | hdr = ((hdr) & ~BIT(7)) | FIELD_PREP(BIT(7), (val)) |
Set to 1 if the SBC frame is fragmented, otherwise set to 0.
Set to 1 for the last packet of a fragmented SBC frame, otherwise set to 0.
#define BT_A2DP_SBC_MEDIA_HDR_L_SET | ( | hdr, | |
val | |||
) | hdr = ((hdr) & ~BIT(5)) | FIELD_PREP(BIT(5), (val)) |
Set to 1 for the last packet of a fragmented SBC frame, otherwise set to 0.
If the F bit is set to 0, this field indicates the number of frames contained in this packet.
If the F bit is set to 1, this field indicates the number of remaining fragments, including the current fragment. Therefore, the last counter value shall be one.
#define BT_A2DP_SBC_MEDIA_HDR_NUM_FRAMES_SET | ( | hdr, | |
val | |||
) | hdr = ((hdr) & ~GENMASK(3, 0)) | FIELD_PREP(GENMASK(3, 0), (val)) |
If the F bit is set to 0, this field indicates the number of frames contained in this packet.
If the F bit is set to 1, this field indicates the number of remaining fragments, including the current fragment. Therefore, the last counter value shall be one.
Set to 1 for the starting packet of a fragmented SBC frame, otherwise set to 0.
#define BT_A2DP_SBC_MEDIA_HDR_S_SET | ( | hdr, | |
val | |||
) | hdr = ((hdr) & ~BIT(6)) | FIELD_PREP(BIT(6), (val)) |
Set to 1 for the starting packet of a fragmented SBC frame, otherwise set to 0.
#define BT_A2DP_SBC_SAMP_FREQ | ( | cap | ) | ((cap->config[0] >> 4) & 0x0f) |
#define BT_A2DP_SBC_SUB_BAND | ( | cap | ) | ((cap->config[1] >> 2) & 0x03) |
uint8_t bt_a2dp_sbc_get_channel_num | ( | struct bt_a2dp_codec_sbc_params * | sbc_codec | ) |
get channel num of a2dp sbc config.
sbc_codec | The a2dp sbc parameter. |
uint32_t bt_a2dp_sbc_get_sampling_frequency | ( | struct bt_a2dp_codec_sbc_params * | sbc_codec | ) |
get sample rate of a2dp sbc config.
sbc_codec | The a2dp sbc parameter. |