| /** @file |
| * @brief Header for Bluetooth BAP LC3 presets. |
| * |
| * Copyright (c) 2023 Nordic Semiconductor ASA |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_BAP_LC3_PRESET_ |
| #define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_BAP_LC3_PRESET_ |
| |
| #include <zephyr/bluetooth/audio/audio.h> |
| |
| /** Struct to hold a BAP defined LC3 preset */ |
| struct bt_bap_lc3_preset { |
| /** The LC3 Codec */ |
| struct bt_codec codec; |
| /** The BAP spec defined QoS values */ |
| struct bt_codec_qos qos; |
| }; |
| |
| /** Helper to declare an LC3 preset structure */ |
| #define BT_BAP_LC3_PRESET(_codec, _qos) \ |
| { \ |
| .codec = _codec, .qos = _qos, \ |
| } |
| |
| /* LC3 Unicast presets defined by table 5.2 in the BAP v1.0 specification */ |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 8_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_8_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_8_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(26u, 2u, 8u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 8_2_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_8_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_8_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(30u, 2u, 10u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 16_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_16_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_16_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(30u, 2u, 8u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 16_2_1 codec configuration |
| * |
| * Mandatory to support as both unicast client and server |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_16_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_16_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(40u, 2u, 10u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 24_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_24_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_24_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(45u, 2u, 8u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 24_2_1 codec configuration |
| * |
| * Mandatory to support as unicast server |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_24_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_24_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(60u, 2u, 10u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 32_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_32_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_32_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(60u, 2u, 8u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 32_2_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_32_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_32_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(80u, 2u, 10u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 441_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_441_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET( \ |
| BT_CODEC_LC3_CONFIG_441_1(_loc, _stream_context), \ |
| BT_CODEC_QOS(8163u, BT_CODEC_QOS_FRAMED, BT_CODEC_QOS_2M, 97u, 5u, 24u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 441_2_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_441_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET( \ |
| BT_CODEC_LC3_CONFIG_441_2(_loc, _stream_context), \ |
| BT_CODEC_QOS(10884u, BT_CODEC_QOS_FRAMED, BT_CODEC_QOS_2M, 130u, 5u, 31u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(75u, 5u, 15u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_2_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(100u, 5u, 20u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_3_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_3_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_3(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(90u, 5u, 15u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_4_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_4_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_4(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(120u, 5u, 20u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 8_5_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_5_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_5(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(117u, 5u, 15u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_6_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_6_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_6(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(155u, 5u, 20u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 8_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| /* Following presets are for unicast high reliability audio data */ |
| #define BT_BAP_LC3_UNICAST_PRESET_8_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_8_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(26u, 13u, 75u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 8_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_8_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_8_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(30u, 13u, 95u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 16_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_16_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_16_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(30u, 13u, 75u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 16_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_16_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_16_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(40u, 13u, 95u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 24_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_24_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_24_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(45u, 13u, 75u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 24_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_24_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_24_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(60u, 13u, 95u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 32_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_32_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_32_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(60u, 13u, 75u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 32_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_32_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_32_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(80u, 13u, 95u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 441_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_441_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET( \ |
| BT_CODEC_LC3_CONFIG_441_1(_loc, _stream_context), \ |
| BT_CODEC_QOS(8163u, BT_CODEC_QOS_FRAMED, BT_CODEC_QOS_2M, 97u, 13u, 80u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 441_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_441_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_441_2(_loc, _stream_context), \ |
| BT_CODEC_QOS(10884u, BT_CODEC_QOS_FRAMED, BT_CODEC_QOS_2M, 130u, 13u, \ |
| 85u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(75u, 13u, 75u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(100u, 13u, 95u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_3_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_3_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_3(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(90u, 13u, 75u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_4_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_4_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_4(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(120u, 13u, 100u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_5_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_5_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_5(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(117u, 13u, 75u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Unicast 48_6_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_UNICAST_PRESET_48_6_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_6(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(155u, 13u, 100u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 8_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| /* LC3 Broadcast presets defined by table 6.4 in the BAP v1.0 specification */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_8_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_8_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(26u, 2u, 8u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 8_2_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_8_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_8_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(30u, 2u, 10u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 16_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_16_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_16_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(30u, 2u, 8u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 16_2_1 codec configuration |
| * |
| * Mandatory to support as both broadcast source and sink |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_16_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_16_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(40u, 2u, 10u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 24_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_24_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_24_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(45u, 2u, 8u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 24_2_1 codec configuration |
| * |
| * Mandatory to support as broadcast sink |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_24_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_24_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(60u, 2u, 10u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 32_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_32_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_32_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(60u, 2u, 8u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 32_2_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_32_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_32_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(80u, 2u, 10u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 441_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_441_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET( \ |
| BT_CODEC_LC3_CONFIG_441_1(_loc, _stream_context), \ |
| BT_CODEC_QOS(8163u, BT_CODEC_QOS_FRAMED, BT_CODEC_QOS_2M, 97u, 4u, 24u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 441_2_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_441_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET( \ |
| BT_CODEC_LC3_CONFIG_441_2(_loc, _stream_context), \ |
| BT_CODEC_QOS(10884u, BT_CODEC_QOS_FRAMED, BT_CODEC_QOS_2M, 130u, 4u, 31u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_1_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_1_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(75u, 4u, 15u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_2_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_2_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(100u, 4u, 20u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_3_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_3_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_3(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(90u, 4u, 15u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_4_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_4_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_4(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(120u, 4u, 20u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_5_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_5_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_5(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(117u, 4u, 15u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_6_1 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_6_1(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_6(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(155u, 4u, 20u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 8_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| /* Following presets are for broadcast high reliability audio data */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_8_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_8_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(26u, 4u, 45u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 8_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_8_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_8_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(30u, 4u, 60u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 16_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_16_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_16_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(30u, 4u, 45u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 16_2_2 codec configuration |
| * |
| * Mandatory to support as both broadcast source and sink |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_16_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_16_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(40u, 4u, 60u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 24_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_24_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_24_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(45u, 4u, 45u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 24_2_2 codec configuration |
| * |
| * Mandatory to support as broadcast sink |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_24_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_24_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(60u, 4u, 60u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 32_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_32_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_32_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(60u, 4u, 45u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 32_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_32_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_32_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(80u, 4u, 60u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 441_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_441_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET( \ |
| BT_CODEC_LC3_CONFIG_441_1(_loc, _stream_context), \ |
| BT_CODEC_QOS(8163u, BT_CODEC_QOS_FRAMED, BT_CODEC_QOS_2M, 97u, 4u, 54u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 441_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_441_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET( \ |
| BT_CODEC_LC3_CONFIG_441_2(_loc, _stream_context), \ |
| BT_CODEC_QOS(10884u, BT_CODEC_QOS_FRAMED, BT_CODEC_QOS_2M, 130u, 4u, 60u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_1_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_1_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_1(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(75u, 4u, 50u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_2_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_2_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_2(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(100u, 4u, 65u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_3_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_3_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_3(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(90u, 4u, 50u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_4_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_4_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_4(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(120u, 4u, 65u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_5_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_5_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_5(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_7_5_UNFRAMED(117u, 4u, 50u, 40000u)) |
| |
| /** |
| * @brief Helper to declare LC3 Broadcast 48_6_2 codec configuration |
| * |
| * @param _loc Audio channel location bitfield (@ref bt_audio_location) |
| * @param _stream_context Stream context (BT_AUDIO_CONTEXT_*) |
| */ |
| #define BT_BAP_LC3_BROADCAST_PRESET_48_6_2(_loc, _stream_context) \ |
| BT_BAP_LC3_PRESET(BT_CODEC_LC3_CONFIG_48_6(_loc, _stream_context), \ |
| BT_CODEC_LC3_QOS_10_UNFRAMED(155u, 4u, 65u, 40000u)) |
| |
| #endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_BAP_LC3_PRESET_ */ |