Bluetooth: Audio: Remove bidirectional audio streams
Audio streams as defined by the BAP spec does not support bidirectional audio streams. This commit updates the API and implementation to match that. The use a bidirectional CIS with 2 audio stream will be added in a future commit. This removes the _IN_ and _OUT_ and _INOUT_ QOS values, as well as the direction of the codec QOS struct. To keep direction for internal use, the direction has been added to the endpoint struct. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit is contained in:
parent
a1395c17a3
commit
b880637231
12 changed files with 107 additions and 192 deletions
|
@ -253,7 +253,6 @@ struct bt_audio_base {
|
||||||
/** @def BT_CODEC_QOS
|
/** @def BT_CODEC_QOS
|
||||||
* @brief Helper to declare elements of bt_codec_qos
|
* @brief Helper to declare elements of bt_codec_qos
|
||||||
*
|
*
|
||||||
* @param _dir direction
|
|
||||||
* @param _interval SDU interval (usec)
|
* @param _interval SDU interval (usec)
|
||||||
* @param _framing Framing
|
* @param _framing Framing
|
||||||
* @param _phy Target PHY
|
* @param _phy Target PHY
|
||||||
|
@ -262,10 +261,9 @@ struct bt_audio_base {
|
||||||
* @param _latency Maximum Transport Latency (msec)
|
* @param _latency Maximum Transport Latency (msec)
|
||||||
* @param _pd Presentation Delay (usec)
|
* @param _pd Presentation Delay (usec)
|
||||||
*/
|
*/
|
||||||
#define BT_CODEC_QOS(_dir, _interval, _framing, _phy, _sdu, _rtn, _latency, \
|
#define BT_CODEC_QOS(_interval, _framing, _phy, _sdu, _rtn, _latency, \
|
||||||
_pd) \
|
_pd) \
|
||||||
{ \
|
{ \
|
||||||
.dir = _dir, \
|
|
||||||
.interval = _interval, \
|
.interval = _interval, \
|
||||||
.framing = _framing, \
|
.framing = _framing, \
|
||||||
.phy = _phy, \
|
.phy = _phy, \
|
||||||
|
@ -275,13 +273,6 @@ struct bt_audio_base {
|
||||||
.pd = _pd, \
|
.pd = _pd, \
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Audio QoS direction */
|
|
||||||
enum {
|
|
||||||
BT_CODEC_QOS_IN,
|
|
||||||
BT_CODEC_QOS_OUT,
|
|
||||||
BT_CODEC_QOS_INOUT
|
|
||||||
};
|
|
||||||
|
|
||||||
/** @brief Codec QoS Framing */
|
/** @brief Codec QoS Framing */
|
||||||
enum {
|
enum {
|
||||||
BT_CODEC_QOS_UNFRAMED = 0x00,
|
BT_CODEC_QOS_UNFRAMED = 0x00,
|
||||||
|
@ -295,7 +286,7 @@ enum {
|
||||||
BT_CODEC_QOS_CODED = BIT(2),
|
BT_CODEC_QOS_CODED = BIT(2),
|
||||||
};
|
};
|
||||||
|
|
||||||
/** @def BT_CODEC_QOS_IN_UNFRAMED
|
/** @def BT_CODEC_QOS_UNFRAMED
|
||||||
* @brief Helper to declare Input Unframed bt_codec_qos
|
* @brief Helper to declare Input Unframed bt_codec_qos
|
||||||
*
|
*
|
||||||
* @param _interval SDU interval (usec)
|
* @param _interval SDU interval (usec)
|
||||||
|
@ -304,36 +295,11 @@ enum {
|
||||||
* @param _latency Maximum Transport Latency (msec)
|
* @param _latency Maximum Transport Latency (msec)
|
||||||
* @param _pd Presentation Delay (usec)
|
* @param _pd Presentation Delay (usec)
|
||||||
*/
|
*/
|
||||||
#define BT_CODEC_QOS_IN_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd) \
|
#define BT_CODEC_QOS_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd) \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_IN, _interval, BT_CODEC_QOS_UNFRAMED, \
|
BT_CODEC_QOS(_interval, BT_CODEC_QOS_UNFRAMED, BT_CODEC_QOS_2M, _sdu, \
|
||||||
BT_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
|
_rtn, _latency, _pd)
|
||||||
|
|
||||||
/** @def BT_CODEC_QOS_OUT_UNFRAMED
|
/** @def BT_CODEC_QOS_FRAMED
|
||||||
* @brief Helper to declare Output Unframed bt_code *
|
|
||||||
* @param _interval SDU interval (usec)
|
|
||||||
* @param _sdu Maximum SDU Size
|
|
||||||
* @param _rtn Retransmission number
|
|
||||||
* @param _latency Maximum Transport Latency (msec)
|
|
||||||
* @param _pd Presentation Delay (usec)
|
|
||||||
*/
|
|
||||||
#define BT_CODEC_QOS_OUT_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd) \
|
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, _interval, BT_CODEC_QOS_UNFRAMED, \
|
|
||||||
BT_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
|
|
||||||
|
|
||||||
/** @def BT_CODEC_QOS_INOUT_UNFRAMED
|
|
||||||
* @brief Helper to declare Input/Output Unframed bt_codec_qos
|
|
||||||
*
|
|
||||||
* @param _interval SDU interval (usec)
|
|
||||||
* @param _sdu Maximum SDU Size
|
|
||||||
* @param _rtn Retransmission number
|
|
||||||
* @param _latency Maximum Transport Latency (msec)
|
|
||||||
* @param _pd Presentation Delay (usec)
|
|
||||||
*/
|
|
||||||
#define BT_CODEC_QOS_INOUT_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd) \
|
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_INOUT, _interval, BT_CODEC_QOS_UNFRAMED, \
|
|
||||||
BT_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
|
|
||||||
|
|
||||||
/** @def BT_CODEC_QOS_IN_FRAMED
|
|
||||||
* @brief Helper to declare Input Framed bt_codec_qos
|
* @brief Helper to declare Input Framed bt_codec_qos
|
||||||
*
|
*
|
||||||
* @param _interval SDU interval (usec)
|
* @param _interval SDU interval (usec)
|
||||||
|
@ -342,45 +308,12 @@ enum {
|
||||||
* @param _latency Maximum Transport Latency (msec)
|
* @param _latency Maximum Transport Latency (msec)
|
||||||
* @param _pd Presentation Delay (usec)
|
* @param _pd Presentation Delay (usec)
|
||||||
*/
|
*/
|
||||||
#define BT_CODEC_QOS_IN_FRAMED(_interval, _sdu, _rtn, _latency, _pd) \
|
#define BT_CODEC_QOS_FRAMED(_interval, _sdu, _rtn, _latency, _pd) \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_IN, _interval, BT_CODEC_QOS_FRAMED, \
|
BT_CODEC_QOS(_interval, BT_CODEC_QOS_FRAMED, BT_CODEC_QOS_2M, _sdu, \
|
||||||
BT_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
|
_rtn, _latency, _pd)
|
||||||
|
|
||||||
/** @def BT_CODEC_QOS_OUT_FRAMED
|
|
||||||
* @brief Helper to declare Output Framed bt_codec_qos
|
|
||||||
*
|
|
||||||
* @param _interval SDU interval (usec)
|
|
||||||
* @param _sdu Maximum SDU Size
|
|
||||||
* @param _rtn Retransmission number
|
|
||||||
* @param _latency Maximum Transport Latency (msec)
|
|
||||||
* @param _pd Presentation Delay (usec)
|
|
||||||
*/
|
|
||||||
#define BT_CODEC_QOS_OUT_FRAMED(_interval, _sdu, _rtn, _latency, _pd) \
|
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, _interval, BT_CODEC_QOS_FRAMED, \
|
|
||||||
BT_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
|
|
||||||
|
|
||||||
/** @def BT_CODEC_QOS_INOUT_FRAMED
|
|
||||||
* @brief Helper to declare Output Framed bt_codec_qos
|
|
||||||
*
|
|
||||||
* @param _interval SDU interval (usec)
|
|
||||||
* @param _sdu Maximum SDU Size
|
|
||||||
* @param _rtn Retransmission number
|
|
||||||
* @param _latency Maximum Transport Latency (msec)
|
|
||||||
* @param _pd Presentation Delay (usec)
|
|
||||||
*/
|
|
||||||
#define BT_CODEC_QOS_INOUT_FRAMED(_interval, _sdu, _rtn, _latency, _pd) \
|
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_INOUT, _interval, BT_CODEC_QOS_FRAMED, \
|
|
||||||
BT_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
|
|
||||||
|
|
||||||
/** @brief Codec QoS structure. */
|
/** @brief Codec QoS structure. */
|
||||||
struct bt_codec_qos {
|
struct bt_codec_qos {
|
||||||
/** QoS direction
|
|
||||||
*
|
|
||||||
* This shall be set to BT_CODEC_QOS_OUT for broadcast sources, and
|
|
||||||
* shall be set to BT_CODEC_QOS_IN for broadcast sinks.
|
|
||||||
*/
|
|
||||||
uint8_t dir;
|
|
||||||
|
|
||||||
/** QoS PHY */
|
/** QoS PHY */
|
||||||
uint8_t phy;
|
uint8_t phy;
|
||||||
|
|
||||||
|
@ -485,402 +418,402 @@ struct bt_audio_lc3_preset {
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_8_1_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_8_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_8_1, \
|
BT_CODEC_LC3_CONFIG_8_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(26u, 2u, 8u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(26u, 2u, 8u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_8_2_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_8_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_8_2, \
|
BT_CODEC_LC3_CONFIG_8_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(30u, 2u, 10u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(30u, 2u, 10u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_16_1_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_16_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_16_1, \
|
BT_CODEC_LC3_CONFIG_16_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(30u, 2u, 8u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(30u, 2u, 8u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/** Mandatory to support as both unicast client and server */
|
/** Mandatory to support as both unicast client and server */
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_16_2_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_16_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_16_2, \
|
BT_CODEC_LC3_CONFIG_16_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(40u, 2u, 10u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(40u, 2u, 10u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_24_1_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_24_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_24_1, \
|
BT_CODEC_LC3_CONFIG_24_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(45u, 2u, 8u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(45u, 2u, 8u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/** Mandatory to support as unicast server */
|
/** Mandatory to support as unicast server */
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_24_2_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_24_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_24_2, \
|
BT_CODEC_LC3_CONFIG_24_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(60u, 2u, 10u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(60u, 2u, 10u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_32_1_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_32_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_32_1, \
|
BT_CODEC_LC3_CONFIG_32_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(60u, 2u, 8u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(60u, 2u, 8u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_32_2_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_32_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_32_2, \
|
BT_CODEC_LC3_CONFIG_32_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(80u, 2u, 10u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(80u, 2u, 10u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_441_1_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_441_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_441_1, \
|
BT_CODEC_LC3_CONFIG_441_1, \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, 8163u, BT_CODEC_QOS_FRAMED, \
|
BT_CODEC_QOS(8163u, BT_CODEC_QOS_FRAMED, \
|
||||||
BT_CODEC_QOS_2M, 97u, 5u, 24u, 40000u) \
|
BT_CODEC_QOS_2M, 97u, 5u, 24u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_441_2_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_441_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_441_2, \
|
BT_CODEC_LC3_CONFIG_441_2, \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, 10884u, BT_CODEC_QOS_FRAMED, \
|
BT_CODEC_QOS(10884u, BT_CODEC_QOS_FRAMED, \
|
||||||
BT_CODEC_QOS_2M, 130u, 5u, 31u, 40000u) \
|
BT_CODEC_QOS_2M, 130u, 5u, 31u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_1_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_1, \
|
BT_CODEC_LC3_CONFIG_48_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(75u, 5u, 15u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(75u, 5u, 15u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_2_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_2, \
|
BT_CODEC_LC3_CONFIG_48_2, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(100u, 5u, 20u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(100u, 5u, 20u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_3_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_3_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_3, \
|
BT_CODEC_LC3_CONFIG_48_3, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(90u, 5u, 15u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(90u, 5u, 15u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_4_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_4_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_4, \
|
BT_CODEC_LC3_CONFIG_48_4, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(120u, 5u, 20u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(120u, 5u, 20u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_5_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_5_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_5, \
|
BT_CODEC_LC3_CONFIG_48_5, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(117u, 5u, 15u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(117u, 5u, 15u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_6_1 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_6_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_6, \
|
BT_CODEC_LC3_CONFIG_48_6, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(155u, 5u, 20u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(155u, 5u, 20u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Following presets are for unicast high reliability audio data */
|
/* Following presets are for unicast high reliability audio data */
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_8_1_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_8_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_8_1, \
|
BT_CODEC_LC3_CONFIG_8_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(26u, 13u, 75u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(26u, 13u, 75u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_8_2_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_8_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_8_2, \
|
BT_CODEC_LC3_CONFIG_8_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(30u, 13u, 95u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(30u, 13u, 95u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_16_1_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_16_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_16_1, \
|
BT_CODEC_LC3_CONFIG_16_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(30u, 13u, 75u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(30u, 13u, 75u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_16_2_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_16_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_16_2, \
|
BT_CODEC_LC3_CONFIG_16_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(40u, 13u, 95u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(40u, 13u, 95u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_24_1_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_24_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_24_1, \
|
BT_CODEC_LC3_CONFIG_24_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(45u, 13u, 75u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(45u, 13u, 75u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_24_2_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_24_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_24_2, \
|
BT_CODEC_LC3_CONFIG_24_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(60u, 13u, 95u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(60u, 13u, 95u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_32_1_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_32_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_32_1, \
|
BT_CODEC_LC3_CONFIG_32_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(60u, 13u, 75u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(60u, 13u, 75u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_32_2_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_32_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_32_2, \
|
BT_CODEC_LC3_CONFIG_32_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(80u, 13u, 95u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(80u, 13u, 95u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_441_1_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_441_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_441_1, \
|
BT_CODEC_LC3_CONFIG_441_1, \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, 8163u, BT_CODEC_QOS_FRAMED, \
|
BT_CODEC_QOS(8163u, BT_CODEC_QOS_FRAMED, \
|
||||||
BT_CODEC_QOS_2M, 97u, 13u, 80u, 40000u) \
|
BT_CODEC_QOS_2M, 97u, 13u, 80u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_441_2_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_441_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_441_2, \
|
BT_CODEC_LC3_CONFIG_441_2, \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, 10884u, BT_CODEC_QOS_FRAMED, \
|
BT_CODEC_QOS(10884u, BT_CODEC_QOS_FRAMED, \
|
||||||
BT_CODEC_QOS_2M, 130u, 13u, 85u, 40000u) \
|
BT_CODEC_QOS_2M, 130u, 13u, 85u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_1_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_1, \
|
BT_CODEC_LC3_CONFIG_48_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(75u, 13u, 75u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(75u, 13u, 75u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_2_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_2, \
|
BT_CODEC_LC3_CONFIG_48_2, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(100u, 13u, 95u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(100u, 13u, 95u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_3_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_3_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_3, \
|
BT_CODEC_LC3_CONFIG_48_3, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(90u, 13u, 75u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(90u, 13u, 75u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_4_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_4_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_4, \
|
BT_CODEC_LC3_CONFIG_48_4, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(120u, 13u, 100u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(120u, 13u, 100u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_5_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_5_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_5, \
|
BT_CODEC_LC3_CONFIG_48_5, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(117u, 13u, 75u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(117u, 13u, 75u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_UNICAST_PRESET_48_6_2 \
|
#define BT_AUDIO_LC3_UNICAST_PRESET_48_6_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_6, \
|
BT_CODEC_LC3_CONFIG_48_6, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(155u, 13u, 100u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(155u, 13u, 100u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/* LC3 Broadcast presets defined by table 6.4 in the BAP v1.0 specification */
|
/* LC3 Broadcast presets defined by table 6.4 in the BAP v1.0 specification */
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_8_1_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_8_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_8_1, \
|
BT_CODEC_LC3_CONFIG_8_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(26u, 2u, 8u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(26u, 2u, 8u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_8_2_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_8_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_8_2, \
|
BT_CODEC_LC3_CONFIG_8_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(30u, 2u, 10u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(30u, 2u, 10u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_16_1_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_16_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_16_1, \
|
BT_CODEC_LC3_CONFIG_16_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(30u, 2u, 8u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(30u, 2u, 8u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/** Mandatory to support as both broadcast source and sink */
|
/** Mandatory to support as both broadcast source and sink */
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_16_2_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_16_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_16_2, \
|
BT_CODEC_LC3_CONFIG_16_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(40u, 2u, 10u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(40u, 2u, 10u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_24_1_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_24_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_24_1, \
|
BT_CODEC_LC3_CONFIG_24_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(45u, 2u, 8u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(45u, 2u, 8u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/** Mandatory to support as broadcast sink */
|
/** Mandatory to support as broadcast sink */
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_24_2_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_24_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_24_2, \
|
BT_CODEC_LC3_CONFIG_24_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(60u, 2u, 10u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(60u, 2u, 10u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_32_1_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_32_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_32_1, \
|
BT_CODEC_LC3_CONFIG_32_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(60u, 2u, 8u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(60u, 2u, 8u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_32_2_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_32_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_32_2, \
|
BT_CODEC_LC3_CONFIG_32_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(80u, 2u, 10u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(80u, 2u, 10u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_441_1_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_441_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_441_1, \
|
BT_CODEC_LC3_CONFIG_441_1, \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, 8163u, BT_CODEC_QOS_FRAMED, \
|
BT_CODEC_QOS(8163u, BT_CODEC_QOS_FRAMED, \
|
||||||
BT_CODEC_QOS_2M, 97u, 4u, 24u, 40000u) \
|
BT_CODEC_QOS_2M, 97u, 4u, 24u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_441_2_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_441_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_441_2, \
|
BT_CODEC_LC3_CONFIG_441_2, \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, 10884u, BT_CODEC_QOS_FRAMED, \
|
BT_CODEC_QOS(10884u, BT_CODEC_QOS_FRAMED, \
|
||||||
BT_CODEC_QOS_2M, 130u, 4u, 31u, 40000u) \
|
BT_CODEC_QOS_2M, 130u, 4u, 31u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_1_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_1_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_1, \
|
BT_CODEC_LC3_CONFIG_48_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(75u, 4u, 15u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(75u, 4u, 15u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_2_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_2_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_2, \
|
BT_CODEC_LC3_CONFIG_48_2, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(100u, 4u, 20u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(100u, 4u, 20u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_3_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_3_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_3, \
|
BT_CODEC_LC3_CONFIG_48_3, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(90u, 4u, 15u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(90u, 4u, 15u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_4_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_4_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_4, \
|
BT_CODEC_LC3_CONFIG_48_4, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(120u, 4u, 20u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(120u, 4u, 20u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_5_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_5_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_5, \
|
BT_CODEC_LC3_CONFIG_48_5, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(117u, 4u, 15u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(117u, 4u, 15u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_6_1 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_6_1 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_6, \
|
BT_CODEC_LC3_CONFIG_48_6, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(155u, 4u, 20u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(155u, 4u, 20u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Following presets are for broadcast high reliability audio data */
|
/* Following presets are for broadcast high reliability audio data */
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_8_1_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_8_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_8_1, \
|
BT_CODEC_LC3_CONFIG_8_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(26u, 4u, 45u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(26u, 4u, 45u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_8_2_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_8_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_8_2, \
|
BT_CODEC_LC3_CONFIG_8_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(30u, 4u, 60u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(30u, 4u, 60u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_16_1_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_16_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_16_1, \
|
BT_CODEC_LC3_CONFIG_16_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(30u, 4u, 45u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(30u, 4u, 45u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/** Mandatory to support as both broadcast source and sink */
|
/** Mandatory to support as both broadcast source and sink */
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_16_2_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_16_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_16_2, \
|
BT_CODEC_LC3_CONFIG_16_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(40u, 4u, 60u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(40u, 4u, 60u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_24_1_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_24_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_24_1, \
|
BT_CODEC_LC3_CONFIG_24_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(45u, 4u, 45u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(45u, 4u, 45u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/** Mandatory to support as broadcast sink */
|
/** Mandatory to support as broadcast sink */
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_24_2_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_24_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_24_2, \
|
BT_CODEC_LC3_CONFIG_24_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(60u, 4u, 60u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(60u, 4u, 60u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_32_1_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_32_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_32_1, \
|
BT_CODEC_LC3_CONFIG_32_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(60u, 4u, 45u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(60u, 4u, 45u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_32_2_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_32_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_32_2, \
|
BT_CODEC_LC3_CONFIG_32_2, \
|
||||||
BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(80u, 4u, 60u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(80u, 4u, 60u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_441_1_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_441_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_441_1, \
|
BT_CODEC_LC3_CONFIG_441_1, \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, 8163u, BT_CODEC_QOS_FRAMED, \
|
BT_CODEC_QOS(8163u, BT_CODEC_QOS_FRAMED, \
|
||||||
BT_CODEC_QOS_2M, 97u, 4u, 54u, 40000u) \
|
BT_CODEC_QOS_2M, 97u, 4u, 54u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_441_2_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_441_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_441_2, \
|
BT_CODEC_LC3_CONFIG_441_2, \
|
||||||
BT_CODEC_QOS(BT_CODEC_QOS_OUT, 10884u, BT_CODEC_QOS_FRAMED, \
|
BT_CODEC_QOS(10884u, BT_CODEC_QOS_FRAMED, \
|
||||||
BT_CODEC_QOS_2M, 130u, 4u, 60u, 40000u) \
|
BT_CODEC_QOS_2M, 130u, 4u, 60u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_1_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_1_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_1, \
|
BT_CODEC_LC3_CONFIG_48_1, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(75u, 4u, 50u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(75u, 4u, 50u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_2_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_2_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_2, \
|
BT_CODEC_LC3_CONFIG_48_2, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(100u, 4u, 65u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(100u, 4u, 65u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_3_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_3_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_3, \
|
BT_CODEC_LC3_CONFIG_48_3, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(90u, 4u, 50u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(90u, 4u, 50u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_4_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_4_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_4, \
|
BT_CODEC_LC3_CONFIG_48_4, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(120u, 4u, 65u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(120u, 4u, 65u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_5_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_5_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_5, \
|
BT_CODEC_LC3_CONFIG_48_5, \
|
||||||
BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(117u, 4u, 50u, 40000u) \
|
BT_CODEC_LC3_QOS_7_5_UNFRAMED(117u, 4u, 50u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_6_2 \
|
#define BT_AUDIO_LC3_BROADCAST_PRESET_48_6_2 \
|
||||||
BT_AUDIO_LC3_PRESET( \
|
BT_AUDIO_LC3_PRESET( \
|
||||||
BT_CODEC_LC3_CONFIG_48_6, \
|
BT_CODEC_LC3_CONFIG_48_6, \
|
||||||
BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(155u, 4u, 65u, 40000u) \
|
BT_CODEC_LC3_QOS_10_UNFRAMED(155u, 4u, 65u, 40000u) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/** @brief Audio stream structure.
|
/** @brief Audio stream structure.
|
||||||
|
|
|
@ -372,45 +372,25 @@ struct bt_codec_lc3_frame_len {
|
||||||
/** @def BT_CODEC_LC3_QOS_7_5
|
/** @def BT_CODEC_LC3_QOS_7_5
|
||||||
* @brief Helper to declare LC3 codec QoS for 7.5ms interval
|
* @brief Helper to declare LC3 codec QoS for 7.5ms interval
|
||||||
*/
|
*/
|
||||||
#define BT_CODEC_LC3_QOS_7_5(_dir, _framing, _sdu, _rtn, _latency, _pd) \
|
#define BT_CODEC_LC3_QOS_7_5(_framing, _sdu, _rtn, _latency, _pd) \
|
||||||
BT_CODEC_QOS(_dir, 7500u, _framing, BT_CODEC_QOS_2M, _sdu, _rtn, \
|
BT_CODEC_QOS(7500u, _framing, BT_CODEC_QOS_2M, _sdu, _rtn, \
|
||||||
_latency, _pd)
|
_latency, _pd)
|
||||||
/** @def BT_CODEC_LC3_QOS_7_5_IN_UNFRAMED
|
/** @def BT_CODEC_LC3_QOS_7_5_UNFRAMED
|
||||||
* @brief Helper to declare LC3 codec QoS for 7.5ms interval unframed input
|
* @brief Helper to declare LC3 codec QoS for 7.5ms interval unframed input
|
||||||
*/
|
*/
|
||||||
#define BT_CODEC_LC3_QOS_7_5_IN_UNFRAMED(_sdu, _rtn, _latency, _pd) \
|
#define BT_CODEC_LC3_QOS_7_5_UNFRAMED(_sdu, _rtn, _latency, _pd) \
|
||||||
BT_CODEC_QOS_IN_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
|
BT_CODEC_QOS_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
|
||||||
/** @def BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED
|
|
||||||
* @brief Helper to declare LC3 codec QoS for 7.5ms interval unframed output
|
|
||||||
*/
|
|
||||||
#define BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(_sdu, _rtn, _latency, _pd) \
|
|
||||||
BT_CODEC_QOS_OUT_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
|
|
||||||
/** @def BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED
|
|
||||||
* @brief Helper to declare LC3 codec QoS for 7.5ms interval unframed in/out
|
|
||||||
*/
|
|
||||||
#define BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(_sdu, _rtn, _latency, _pd) \
|
|
||||||
BT_CODEC_QOS_INOUT_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
|
|
||||||
/** @def BT_CODEC_LC3_QOS_10
|
/** @def BT_CODEC_LC3_QOS_10
|
||||||
* @brief Helper to declare LC3 codec QoS for 10ms frame internal
|
* @brief Helper to declare LC3 codec QoS for 10ms frame internal
|
||||||
*/
|
*/
|
||||||
#define BT_CODEC_LC3_QOS_10(_dir, _framing, _sdu, _rtn, _latency, _pd) \
|
#define BT_CODEC_LC3_QOS_10(_framing, _sdu, _rtn, _latency, _pd) \
|
||||||
BT_CODEC_QOS(_dir, 10000u, _framing, BT_CODEC_QOS_2M, _sdu, _rtn, \
|
BT_CODEC_QOS(10000u, _framing, BT_CODEC_QOS_2M, _sdu, _rtn, \
|
||||||
_latency, _pd)
|
_latency, _pd)
|
||||||
/** @def BT_CODEC_LC3_QOS_10_IN_UNFRAMED
|
/** @def BT_CODEC_LC3_QOS_10_UNFRAMED
|
||||||
* @brief Helper to declare LC3 codec QoS for 10ms interval unframed input
|
* @brief Helper to declare LC3 codec QoS for 10ms interval unframed input
|
||||||
*/
|
*/
|
||||||
#define BT_CODEC_LC3_QOS_10_IN_UNFRAMED(_sdu, _rtn, _latency, _pd) \
|
#define BT_CODEC_LC3_QOS_10_UNFRAMED(_sdu, _rtn, _latency, _pd) \
|
||||||
BT_CODEC_QOS_IN_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
|
BT_CODEC_QOS_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
|
||||||
/** @def BT_CODEC_LC3_QOS_10_OUT_UNFRAMED
|
|
||||||
* @brief Helper to declare LC3 codec QoS for 10ms interval unframed output
|
|
||||||
*/
|
|
||||||
#define BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(_sdu, _rtn, _latency, _pd) \
|
|
||||||
BT_CODEC_QOS_OUT_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
|
|
||||||
/** @def BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED
|
|
||||||
* @brief Helper to declare LC3 codec QoS for 10ms interval unframed in/out
|
|
||||||
*/
|
|
||||||
#define BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(_sdu, _rtn, _latency, _pd) \
|
|
||||||
BT_CODEC_QOS_INOUT_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,9 +93,9 @@ static void print_codec(const struct bt_codec *codec)
|
||||||
|
|
||||||
static void print_qos(struct bt_codec_qos *qos)
|
static void print_qos(struct bt_codec_qos *qos)
|
||||||
{
|
{
|
||||||
printk("QoS: dir 0x%02x interval %u framing 0x%02x phy 0x%02x sdu %u "
|
printk("QoS: interval %u framing 0x%02x phy 0x%02x sdu %u "
|
||||||
"rtn %u latency %u pd %u\n",
|
"rtn %u latency %u pd %u\n",
|
||||||
qos->dir, qos->interval, qos->framing, qos->phy, qos->sdu,
|
qos->interval, qos->framing, qos->phy, qos->sdu,
|
||||||
qos->rtn, qos->latency, qos->pd);
|
qos->rtn, qos->latency, qos->pd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -724,6 +724,7 @@ void ascs_ep_init(struct bt_audio_ep *ep, uint8_t id)
|
||||||
ep->iso.qos = &ep->iso_qos;
|
ep->iso.qos = &ep->iso_qos;
|
||||||
ep->iso.qos->rx = &ep->iso_rx;
|
ep->iso.qos->rx = &ep->iso_rx;
|
||||||
ep->iso.qos->tx = &ep->iso_tx;
|
ep->iso.qos->tx = &ep->iso_tx;
|
||||||
|
ep->dir = ASE_DIR(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ase_init(struct bt_ascs_ase *ase, uint8_t id)
|
static void ase_init(struct bt_ascs_ase *ase, uint8_t id)
|
||||||
|
|
|
@ -771,6 +771,7 @@ static void broadcast_sink_ep_init(struct bt_audio_ep *ep)
|
||||||
ep->iso.qos = &ep->iso_qos;
|
ep->iso.qos = &ep->iso_qos;
|
||||||
ep->iso.qos->rx = &ep->iso_rx;
|
ep->iso.qos->rx = &ep->iso_rx;
|
||||||
ep->iso.qos->tx = &ep->iso_tx;
|
ep->iso.qos->tx = &ep->iso_tx;
|
||||||
|
ep->dir = BT_AUDIO_SINK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct bt_audio_ep *broadcast_sink_new_ep(uint8_t index)
|
static struct bt_audio_ep *broadcast_sink_new_ep(uint8_t index)
|
||||||
|
@ -823,9 +824,8 @@ static int bt_audio_broadcast_sink_setup_stream(uint8_t index,
|
||||||
*/
|
*/
|
||||||
stream->iso->qos->rx = &sink_chan_io_qos;
|
stream->iso->qos->rx = &sink_chan_io_qos;
|
||||||
stream->iso->qos->tx = NULL;
|
stream->iso->qos->tx = NULL;
|
||||||
codec_qos.dir = BT_CODEC_QOS_IN;
|
|
||||||
stream->qos = &codec_qos;
|
stream->qos = &codec_qos;
|
||||||
err = bt_audio_codec_qos_to_iso_qos(stream->iso->qos, &codec_qos);
|
err = bt_audio_codec_qos_to_iso_qos(stream, &codec_qos);
|
||||||
if (err) {
|
if (err) {
|
||||||
BT_ERR("Unable to convert codec QoS to ISO QoS");
|
BT_ERR("Unable to convert codec QoS to ISO QoS");
|
||||||
return err;
|
return err;
|
||||||
|
|
|
@ -172,6 +172,7 @@ static void broadcast_source_ep_init(struct bt_audio_ep *ep)
|
||||||
ep->iso.qos = &ep->iso_qos;
|
ep->iso.qos = &ep->iso_qos;
|
||||||
ep->iso.qos->rx = &ep->iso_rx;
|
ep->iso.qos->rx = &ep->iso_rx;
|
||||||
ep->iso.qos->tx = &ep->iso_tx;
|
ep->iso.qos->tx = &ep->iso_tx;
|
||||||
|
ep->dir = BT_AUDIO_SOURCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct bt_audio_ep *broadcast_source_new_ep(uint8_t index)
|
static struct bt_audio_ep *broadcast_source_new_ep(uint8_t index)
|
||||||
|
@ -219,7 +220,7 @@ static int bt_audio_broadcast_source_setup_stream(uint8_t index,
|
||||||
|
|
||||||
bt_audio_stream_attach(NULL, stream, ep, codec);
|
bt_audio_stream_attach(NULL, stream, ep, codec);
|
||||||
stream->qos = qos;
|
stream->qos = qos;
|
||||||
err = bt_audio_codec_qos_to_iso_qos(stream->iso->qos, qos);
|
err = bt_audio_codec_qos_to_iso_qos(stream, qos);
|
||||||
if (err) {
|
if (err) {
|
||||||
BT_ERR("Unable to convert codec QoS to ISO QoS");
|
BT_ERR("Unable to convert codec QoS to ISO QoS");
|
||||||
return err;
|
return err;
|
||||||
|
|
|
@ -33,6 +33,7 @@ struct bt_audio_broadcast_sink;
|
||||||
|
|
||||||
struct bt_audio_ep {
|
struct bt_audio_ep {
|
||||||
uint8_t type;
|
uint8_t type;
|
||||||
|
uint8_t dir;
|
||||||
uint16_t handle;
|
uint16_t handle;
|
||||||
uint16_t cp_handle;
|
uint16_t cp_handle;
|
||||||
uint8_t cig_id;
|
uint8_t cig_id;
|
||||||
|
|
|
@ -126,21 +126,19 @@ done:
|
||||||
return -ENOSPC;
|
return -ENOSPC;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bt_audio_codec_qos_to_iso_qos(struct bt_iso_chan_qos *qos,
|
int bt_audio_codec_qos_to_iso_qos(struct bt_audio_stream *stream,
|
||||||
struct bt_codec_qos *codec)
|
const struct bt_codec_qos *codec)
|
||||||
{
|
{
|
||||||
|
struct bt_iso_chan_qos *qos = stream->iso->qos;
|
||||||
struct bt_iso_chan_io_qos *io;
|
struct bt_iso_chan_io_qos *io;
|
||||||
|
|
||||||
switch (codec->dir) {
|
switch (stream->ep->dir) {
|
||||||
case BT_CODEC_QOS_IN:
|
case BT_AUDIO_SINK:
|
||||||
io = qos->rx;
|
io = qos->rx;
|
||||||
break;
|
break;
|
||||||
case BT_CODEC_QOS_OUT:
|
case BT_AUDIO_SOURCE:
|
||||||
io = qos->tx;
|
io = qos->tx;
|
||||||
break;
|
break;
|
||||||
case BT_CODEC_QOS_INOUT:
|
|
||||||
io = qos->rx = qos->tx;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
@ -546,7 +544,7 @@ int bt_audio_stream_qos(struct bt_conn *conn,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = bt_audio_codec_qos_to_iso_qos(stream->iso->qos, qos);
|
err = bt_audio_codec_qos_to_iso_qos(stream, qos);
|
||||||
if (err) {
|
if (err) {
|
||||||
BT_DBG("Unable to convert codec QoS to ISO QoS: %d",
|
BT_DBG("Unable to convert codec QoS to ISO QoS: %d",
|
||||||
err);
|
err);
|
||||||
|
|
|
@ -45,8 +45,8 @@ void bt_audio_stream_attach(struct bt_conn *conn, struct bt_audio_stream *stream
|
||||||
struct bt_audio_ep *ep,
|
struct bt_audio_ep *ep,
|
||||||
struct bt_codec *codec);
|
struct bt_codec *codec);
|
||||||
|
|
||||||
int bt_audio_codec_qos_to_iso_qos(struct bt_iso_chan_qos *qos,
|
int bt_audio_codec_qos_to_iso_qos(struct bt_audio_stream *stream,
|
||||||
struct bt_codec_qos *codec);
|
const struct bt_codec_qos *codec);
|
||||||
|
|
||||||
void bt_audio_stream_detach(struct bt_audio_stream *stream);
|
void bt_audio_stream_detach(struct bt_audio_stream *stream);
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,7 @@ static struct bt_iso_chan_ops unicast_client_iso_ops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static void unicast_client_ep_init(struct bt_audio_ep *ep, uint8_t type,
|
static void unicast_client_ep_init(struct bt_audio_ep *ep, uint8_t type,
|
||||||
uint16_t handle, uint8_t id)
|
uint16_t handle, uint8_t id, uint8_t dir)
|
||||||
{
|
{
|
||||||
BT_DBG("ep %p type 0x%02x handle 0x%04x id 0x%02x", ep, type, handle,
|
BT_DBG("ep %p type 0x%02x handle 0x%04x id 0x%02x", ep, type, handle,
|
||||||
id);
|
id);
|
||||||
|
@ -143,6 +143,7 @@ static void unicast_client_ep_init(struct bt_audio_ep *ep, uint8_t type,
|
||||||
ep->iso.qos = &ep->iso_qos;
|
ep->iso.qos = &ep->iso_qos;
|
||||||
ep->iso.qos->rx = &ep->iso_rx;
|
ep->iso.qos->rx = &ep->iso_rx;
|
||||||
ep->iso.qos->tx = &ep->iso_tx;
|
ep->iso.qos->tx = &ep->iso_tx;
|
||||||
|
ep->dir = dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct bt_audio_ep *unicast_client_ep_find(struct bt_conn *conn,
|
static struct bt_audio_ep *unicast_client_ep_find(struct bt_conn *conn,
|
||||||
|
@ -201,7 +202,7 @@ static struct bt_audio_ep *unicast_client_ep_new(struct bt_conn *conn,
|
||||||
|
|
||||||
if (!ep->handle) {
|
if (!ep->handle) {
|
||||||
unicast_client_ep_init(ep, BT_AUDIO_EP_REMOTE, handle,
|
unicast_client_ep_init(ep, BT_AUDIO_EP_REMOTE, handle,
|
||||||
0x00);
|
0x00, dir);
|
||||||
return ep;
|
return ep;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -239,9 +239,9 @@ static void set_stream(struct bt_audio_stream *stream)
|
||||||
#if defined(CONFIG_BT_AUDIO_UNICAST)
|
#if defined(CONFIG_BT_AUDIO_UNICAST)
|
||||||
static void print_qos(struct bt_codec_qos *qos)
|
static void print_qos(struct bt_codec_qos *qos)
|
||||||
{
|
{
|
||||||
shell_print(ctx_shell, "QoS: dir 0x%02x interval %u framing 0x%02x "
|
shell_print(ctx_shell, "QoS: interval %u framing 0x%02x "
|
||||||
"phy 0x%02x sdu %u rtn %u latency %u pd %u",
|
"phy 0x%02x sdu %u rtn %u latency %u pd %u",
|
||||||
qos->dir, qos->interval, qos->framing, qos->phy, qos->sdu,
|
qos->interval, qos->framing, qos->phy, qos->sdu,
|
||||||
qos->rtn, qos->latency, qos->pd);
|
qos->rtn, qos->latency, qos->pd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,8 +42,8 @@ void print_codec(const struct bt_codec *codec)
|
||||||
|
|
||||||
void print_qos(const struct bt_codec_qos *qos)
|
void print_qos(const struct bt_codec_qos *qos)
|
||||||
{
|
{
|
||||||
printk("QoS: dir 0x%02x interval %u framing 0x%02x phy 0x%02x sdu %u "
|
printk("QoS: interval %u framing 0x%02x phy 0x%02x sdu %u "
|
||||||
"rtn %u latency %u pd %u\n",
|
"rtn %u latency %u pd %u\n",
|
||||||
qos->dir, qos->interval, qos->framing, qos->phy, qos->sdu,
|
qos->interval, qos->framing, qos->phy, qos->sdu,
|
||||||
qos->rtn, qos->latency, qos->pd);
|
qos->rtn, qos->latency, qos->pd);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue