LCOV - code coverage report
Current view: top level - zephyr/bluetooth/audio - bap_lc3_preset.h Coverage Total Hit
Test: new.info Lines: 100.0 % 69 69
Test Date: 2025-09-05 20:47:19

            Line data    Source code
       1            1 : /**
       2              :  * @file
       3              :  * @brief Header for Bluetooth BAP LC3 presets.
       4              :  *
       5              :  * Copyright (c) 2023-2024 Nordic Semiconductor ASA
       6              :  *
       7              :  * SPDX-License-Identifier: Apache-2.0
       8              :  */
       9              : 
      10              : #ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_BAP_LC3_PRESET_
      11              : #define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_BAP_LC3_PRESET_
      12              : 
      13              : /**
      14              :  * @brief Basic Audio Profile (BAP) LC3 Presets
      15              :  *
      16              :  * @defgroup bt_bap_lc3_preset Basic Audio Profile (BAP) LC3 Presets
      17              :  *
      18              :  * @since 3.0
      19              :  * @version 0.8.0
      20              :  *
      21              :  * @ingroup bluetooth
      22              :  * @{
      23              :  *
      24              :  * These APIs provide preset for codec configuration and QoS based on values supplied by the
      25              :  * codec configuration tables in the BAP specification.
      26              :  *
      27              :  */
      28              : 
      29              : #include <zephyr/bluetooth/audio/audio.h>
      30              : #include <zephyr/bluetooth/audio/bap.h>
      31              : #include <zephyr/bluetooth/audio/lc3.h>
      32              : 
      33              : #ifdef __cplusplus
      34              : extern "C" {
      35              : #endif
      36              : 
      37              : /** Struct to hold a BAP defined LC3 preset */
      38            1 : struct bt_bap_lc3_preset {
      39              :         /** The LC3 Codec */
      40            1 :         struct bt_audio_codec_cfg codec_cfg;
      41              :         /** The BAP spec defined QoS values */
      42            1 :         struct bt_bap_qos_cfg qos;
      43              : };
      44              : 
      45              : /** Helper to declare an LC3 preset structure */
      46            1 : #define BT_BAP_LC3_PRESET(_codec, _qos)                                                            \
      47              :         {                                                                                          \
      48              :                 .codec_cfg = _codec, .qos = _qos,                                                  \
      49              :         }
      50              : 
      51              : /* LC3 Unicast presets defined by table 5.2 in the BAP v1.0 specification */
      52              : 
      53              : /**
      54              :  * @brief Helper to declare LC3 Unicast 8_1_1 codec configuration
      55              :  *
      56              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
      57              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
      58              :  */
      59            1 : #define BT_BAP_LC3_UNICAST_PRESET_8_1_1(_loc, _stream_context)                                     \
      60              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_8KHZ,                  \
      61              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 26u, 1, \
      62              :                                                     _stream_context),                              \
      63              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 26u, 2u, 8u, 40000u))
      64              : 
      65              : /**
      66              :  * @brief Helper to declare LC3 Unicast 8_2_1 codec configuration
      67              :  *
      68              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
      69              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
      70              :  */
      71            1 : #define BT_BAP_LC3_UNICAST_PRESET_8_2_1(_loc, _stream_context)                                     \
      72              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_8KHZ,                  \
      73              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 30U, 1,  \
      74              :                                                     _stream_context),                              \
      75              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 30u, 2u, 10u, 40000u))
      76              : 
      77              : /**
      78              :  * @brief Helper to declare LC3 Unicast 16_1_1 codec configuration
      79              :  *
      80              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
      81              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
      82              :  */
      83            1 : #define BT_BAP_LC3_UNICAST_PRESET_16_1_1(_loc, _stream_context)                                    \
      84              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_16KHZ,                 \
      85              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 30U, 1, \
      86              :                                                     _stream_context),                              \
      87              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 30u, 2u, 8u, 40000u))
      88              : 
      89              : /**
      90              :  * @brief Helper to declare LC3 Unicast 16_2_1 codec configuration
      91              :  *
      92              :  * Mandatory to support as both unicast client and server
      93              :  *
      94              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
      95              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
      96              :  */
      97            1 : #define BT_BAP_LC3_UNICAST_PRESET_16_2_1(_loc, _stream_context)                                    \
      98              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_16KHZ,                 \
      99              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 40U, 1,  \
     100              :                                                     _stream_context),                              \
     101              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 40u, 2u, 10u, 40000u))
     102              : 
     103              : /**
     104              :  * @brief Helper to declare LC3 Unicast 24_1_1 codec configuration
     105              :  *
     106              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     107              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     108              :  */
     109            1 : #define BT_BAP_LC3_UNICAST_PRESET_24_1_1(_loc, _stream_context)                                    \
     110              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_24KHZ,                 \
     111              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 45U, 1, \
     112              :                                                     _stream_context),                              \
     113              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 45u, 2u, 8u, 40000u))
     114              : 
     115              : /**
     116              :  * @brief Helper to declare LC3 Unicast 24_2_1 codec configuration
     117              :  *
     118              :  * Mandatory to support as unicast server
     119              :  *
     120              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     121              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     122              :  */
     123            1 : #define BT_BAP_LC3_UNICAST_PRESET_24_2_1(_loc, _stream_context)                                    \
     124              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_24KHZ,                 \
     125              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 60U, 1,  \
     126              :                                                     _stream_context),                              \
     127              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 60u, 2u, 10u, 40000u))
     128              : 
     129              : /**
     130              :  * @brief Helper to declare LC3 Unicast 32_1_1 codec configuration
     131              :  *
     132              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     133              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     134              :  */
     135            1 : #define BT_BAP_LC3_UNICAST_PRESET_32_1_1(_loc, _stream_context)                                    \
     136              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_32KHZ,                 \
     137              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 60U, 1, \
     138              :                                                     _stream_context),                              \
     139              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 60u, 2u, 8u, 40000u))
     140              : 
     141              : /**
     142              :  * @brief Helper to declare LC3 Unicast 32_2_1 codec configuration
     143              :  *
     144              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     145              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     146              :  */
     147            1 : #define BT_BAP_LC3_UNICAST_PRESET_32_2_1(_loc, _stream_context)                                    \
     148              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_32KHZ,                 \
     149              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 80U, 1,  \
     150              :                                                     _stream_context),                              \
     151              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 80u, 2u, 10u, 40000u))
     152              : 
     153              : /**
     154              :  * @brief Helper to declare LC3 Unicast 441_1_1 codec configuration
     155              :  *
     156              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     157              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     158              :  */
     159            1 : #define BT_BAP_LC3_UNICAST_PRESET_441_1_1(_loc, _stream_context)                                   \
     160              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_44KHZ,                 \
     161              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 97U, 1, \
     162              :                                                     _stream_context),                              \
     163              :                           BT_BAP_QOS_CFG_FRAMED(8163u, 97u, 5u, 24u, 40000u))
     164              : 
     165              : /**
     166              :  * @brief Helper to declare LC3 Unicast 441_2_1 codec configuration
     167              :  *
     168              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     169              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     170              :  */
     171            1 : #define BT_BAP_LC3_UNICAST_PRESET_441_2_1(_loc, _stream_context)                                   \
     172              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_44KHZ,                 \
     173              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 130U, 1, \
     174              :                                                     _stream_context),                              \
     175              :                           BT_BAP_QOS_CFG_FRAMED(10884u, 130u, 5u, 31u, 40000u))
     176              : 
     177              : /**
     178              :  * @brief Helper to declare LC3 Unicast 48_1_1 codec configuration
     179              :  *
     180              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     181              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     182              :  */
     183            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_1_1(_loc, _stream_context)                                    \
     184              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     185              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 75U, 1, \
     186              :                                                     _stream_context),                              \
     187              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 75u, 5u, 15u, 40000u))
     188              : 
     189              : /**
     190              :  * @brief Helper to declare LC3 Unicast 48_2_1 codec configuration
     191              :  *
     192              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     193              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     194              :  */
     195            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_2_1(_loc, _stream_context)                                    \
     196              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     197              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 100U, 1, \
     198              :                                                     _stream_context),                              \
     199              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 100u, 5u, 20u, 40000u))
     200              : 
     201              : /**
     202              :  * @brief Helper to declare LC3 Unicast 48_3_1 codec configuration
     203              :  *
     204              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     205              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     206              :  */
     207            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_3_1(_loc, _stream_context)                                    \
     208              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     209              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 90U, 1, \
     210              :                                                     _stream_context),                              \
     211              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 90u, 5u, 15u, 40000u))
     212              : 
     213              : /**
     214              :  * @brief Helper to declare LC3 Unicast 48_4_1 codec configuration
     215              :  *
     216              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     217              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     218              :  */
     219            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_4_1(_loc, _stream_context)                                    \
     220              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     221              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 120u, 1, \
     222              :                                                     _stream_context),                              \
     223              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 120u, 5u, 20u, 40000u))
     224              : 
     225              : /**
     226              :  * @brief Helper to declare LC3 Unicast 8_5_1 codec configuration
     227              :  *
     228              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     229              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     230              :  */
     231            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_5_1(_loc, _stream_context)                                    \
     232              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     233              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 117u,   \
     234              :                                                     1, _stream_context),                           \
     235              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 117u, 5u, 15u, 40000u))
     236              : 
     237              : /**
     238              :  * @brief Helper to declare LC3 Unicast 48_6_1 codec configuration
     239              :  *
     240              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     241              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     242              :  */
     243            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_6_1(_loc, _stream_context)                                    \
     244              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     245              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 155u, 1, \
     246              :                                                     _stream_context),                              \
     247              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 155u, 5u, 20u, 40000u))
     248              : 
     249              : /**
     250              :  * @brief Helper to declare LC3 Unicast 8_1_2 codec configuration
     251              :  *
     252              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     253              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     254              :  */
     255              : /* Following presets are for unicast high reliability audio data */
     256            1 : #define BT_BAP_LC3_UNICAST_PRESET_8_1_2(_loc, _stream_context)                                     \
     257              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_8KHZ,                  \
     258              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 26u, 1, \
     259              :                                                     _stream_context),                              \
     260              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 26u, 13u, 75u, 40000u))
     261              : 
     262              : /**
     263              :  * @brief Helper to declare LC3 Unicast 8_2_2 codec configuration
     264              :  *
     265              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     266              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     267              :  */
     268            1 : #define BT_BAP_LC3_UNICAST_PRESET_8_2_2(_loc, _stream_context)                                     \
     269              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_8KHZ,                  \
     270              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 30U, 1,  \
     271              :                                                     _stream_context),                              \
     272              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 30u, 13u, 95u, 40000u))
     273              : 
     274              : /**
     275              :  * @brief Helper to declare LC3 Unicast 16_1_2 codec configuration
     276              :  *
     277              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     278              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     279              :  */
     280            1 : #define BT_BAP_LC3_UNICAST_PRESET_16_1_2(_loc, _stream_context)                                    \
     281              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_16KHZ,                 \
     282              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 30U, 1, \
     283              :                                                     _stream_context),                              \
     284              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 30u, 13u, 75u, 40000u))
     285              : 
     286              : /**
     287              :  * @brief Helper to declare LC3 Unicast 16_2_2 codec configuration
     288              :  *
     289              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     290              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     291              :  */
     292            1 : #define BT_BAP_LC3_UNICAST_PRESET_16_2_2(_loc, _stream_context)                                    \
     293              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_16KHZ,                 \
     294              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 40U, 1,  \
     295              :                                                     _stream_context),                              \
     296              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 40u, 13u, 95u, 40000u))
     297              : 
     298              : /**
     299              :  * @brief Helper to declare LC3 Unicast 24_1_2 codec configuration
     300              :  *
     301              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     302              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     303              :  */
     304            1 : #define BT_BAP_LC3_UNICAST_PRESET_24_1_2(_loc, _stream_context)                                    \
     305              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_24KHZ,                 \
     306              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 45U, 1, \
     307              :                                                     _stream_context),                              \
     308              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 45u, 13u, 75u, 40000u))
     309              : 
     310              : /**
     311              :  * @brief Helper to declare LC3 Unicast 24_2_2 codec configuration
     312              :  *
     313              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     314              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     315              :  */
     316            1 : #define BT_BAP_LC3_UNICAST_PRESET_24_2_2(_loc, _stream_context)                                    \
     317              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_24KHZ,                 \
     318              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 60U, 1,  \
     319              :                                                     _stream_context),                              \
     320              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 60u, 13u, 95u, 40000u))
     321              : 
     322              : /**
     323              :  * @brief Helper to declare LC3 Unicast 32_1_2 codec configuration
     324              :  *
     325              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     326              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     327              :  */
     328            1 : #define BT_BAP_LC3_UNICAST_PRESET_32_1_2(_loc, _stream_context)                                    \
     329              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_32KHZ,                 \
     330              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 60U, 1, \
     331              :                                                     _stream_context),                              \
     332              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 60u, 13u, 75u, 40000u))
     333              : 
     334              : /**
     335              :  * @brief Helper to declare LC3 Unicast 32_2_2 codec configuration
     336              :  *
     337              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     338              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     339              :  */
     340            1 : #define BT_BAP_LC3_UNICAST_PRESET_32_2_2(_loc, _stream_context)                                    \
     341              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_32KHZ,                 \
     342              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 80U, 1,  \
     343              :                                                     _stream_context),                              \
     344              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 80u, 13u, 95u, 40000u))
     345              : 
     346              : /**
     347              :  * @brief Helper to declare LC3 Unicast 441_1_2 codec configuration
     348              :  *
     349              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     350              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     351              :  */
     352            1 : #define BT_BAP_LC3_UNICAST_PRESET_441_1_2(_loc, _stream_context)                                   \
     353              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_44KHZ,                 \
     354              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 97U, 1, \
     355              :                                                     _stream_context),                              \
     356              :                           BT_BAP_QOS_CFG_FRAMED(8163u, 97u, 13u, 80u, 40000u))
     357              : 
     358              : /**
     359              :  * @brief Helper to declare LC3 Unicast 441_2_2 codec configuration
     360              :  *
     361              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     362              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     363              :  */
     364            1 : #define BT_BAP_LC3_UNICAST_PRESET_441_2_2(_loc, _stream_context)                                   \
     365              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_44KHZ,                 \
     366              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 130U, 1, \
     367              :                                                     _stream_context),                              \
     368              :                           BT_BAP_QOS_CFG_FRAMED(10884u, 130u, 13u, 85u, 40000u))
     369              : 
     370              : /**
     371              :  * @brief Helper to declare LC3 Unicast 48_1_2 codec configuration
     372              :  *
     373              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     374              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     375              :  */
     376            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_1_2(_loc, _stream_context)                                    \
     377              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     378              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 75U, 1, \
     379              :                                                     _stream_context),                              \
     380              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 75u, 13u, 75u, 40000u))
     381              : 
     382              : /**
     383              :  * @brief Helper to declare LC3 Unicast 48_2_2 codec configuration
     384              :  *
     385              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     386              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     387              :  */
     388            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_2_2(_loc, _stream_context)                                    \
     389              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     390              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 100U, 1, \
     391              :                                                     _stream_context),                              \
     392              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 100u, 13u, 95u, 40000u))
     393              : 
     394              : /**
     395              :  * @brief Helper to declare LC3 Unicast 48_3_2 codec configuration
     396              :  *
     397              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     398              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     399              :  */
     400            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_3_2(_loc, _stream_context)                                    \
     401              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     402              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 90U, 1, \
     403              :                                                     _stream_context),                              \
     404              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 90u, 13u, 75u, 40000u))
     405              : 
     406              : /**
     407              :  * @brief Helper to declare LC3 Unicast 48_4_2 codec configuration
     408              :  *
     409              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     410              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     411              :  */
     412            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_4_2(_loc, _stream_context)                                    \
     413              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     414              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 120u, 1, \
     415              :                                                     _stream_context),                              \
     416              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 120u, 13u, 100u, 40000u))
     417              : 
     418              : /**
     419              :  * @brief Helper to declare LC3 Unicast 48_5_2 codec configuration
     420              :  *
     421              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     422              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     423              :  */
     424            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_5_2(_loc, _stream_context)                                    \
     425              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     426              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 117u,   \
     427              :                                                     1, _stream_context),                           \
     428              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 117u, 13u, 75u, 40000u))
     429              : 
     430              : /**
     431              :  * @brief Helper to declare LC3 Unicast 48_6_2 codec configuration
     432              :  *
     433              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     434              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     435              :  */
     436            1 : #define BT_BAP_LC3_UNICAST_PRESET_48_6_2(_loc, _stream_context)                                    \
     437              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     438              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 155u, 1, \
     439              :                                                     _stream_context),                              \
     440              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 155u, 13u, 100u, 40000u))
     441              : 
     442              : /**
     443              :  * @brief Helper to declare LC3 Broadcast 8_1_1 codec configuration
     444              :  *
     445              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     446              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     447              :  */
     448              : /* LC3 Broadcast presets defined by table 6.4 in the BAP v1.0 specification */
     449            1 : #define BT_BAP_LC3_BROADCAST_PRESET_8_1_1(_loc, _stream_context)                                   \
     450              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_8KHZ,                  \
     451              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 26u, 1, \
     452              :                                                     _stream_context),                              \
     453              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 26u, 2u, 8u, 40000u))
     454              : 
     455              : /**
     456              :  * @brief Helper to declare LC3 Broadcast 8_2_1 codec configuration
     457              :  *
     458              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     459              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     460              :  */
     461            1 : #define BT_BAP_LC3_BROADCAST_PRESET_8_2_1(_loc, _stream_context)                                   \
     462              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_8KHZ,                  \
     463              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 30U, 1,  \
     464              :                                                     _stream_context),                              \
     465              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 30u, 2u, 10u, 40000u))
     466              : 
     467              : /**
     468              :  * @brief Helper to declare LC3 Broadcast 16_1_1 codec configuration
     469              :  *
     470              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     471              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     472              :  */
     473            1 : #define BT_BAP_LC3_BROADCAST_PRESET_16_1_1(_loc, _stream_context)                                  \
     474              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_16KHZ,                 \
     475              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 30U, 1, \
     476              :                                                     _stream_context),                              \
     477              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 30u, 2u, 8u, 40000u))
     478              : 
     479              : /**
     480              :  * @brief Helper to declare LC3 Broadcast 16_2_1 codec configuration
     481              :  *
     482              :  * Mandatory to support as both broadcast source and sink
     483              :  *
     484              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     485              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     486              :  */
     487            1 : #define BT_BAP_LC3_BROADCAST_PRESET_16_2_1(_loc, _stream_context)                                  \
     488              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_16KHZ,                 \
     489              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 40U, 1,  \
     490              :                                                     _stream_context),                              \
     491              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 40u, 2u, 10u, 40000u))
     492              : 
     493              : /**
     494              :  * @brief Helper to declare LC3 Broadcast 24_1_1 codec configuration
     495              :  *
     496              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     497              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     498              :  */
     499            1 : #define BT_BAP_LC3_BROADCAST_PRESET_24_1_1(_loc, _stream_context)                                  \
     500              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_24KHZ,                 \
     501              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 45U, 1, \
     502              :                                                     _stream_context),                              \
     503              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 45u, 2u, 8u, 40000u))
     504              : 
     505              : /**
     506              :  * @brief Helper to declare LC3 Broadcast 24_2_1 codec configuration
     507              :  *
     508              :  * Mandatory to support as broadcast sink
     509              :  *
     510              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     511              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     512              :  */
     513            1 : #define BT_BAP_LC3_BROADCAST_PRESET_24_2_1(_loc, _stream_context)                                  \
     514              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_24KHZ,                 \
     515              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 60U, 1,  \
     516              :                                                     _stream_context),                              \
     517              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 60u, 2u, 10u, 40000u))
     518              : 
     519              : /**
     520              :  * @brief Helper to declare LC3 Broadcast 32_1_1 codec configuration
     521              :  *
     522              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     523              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     524              :  */
     525            1 : #define BT_BAP_LC3_BROADCAST_PRESET_32_1_1(_loc, _stream_context)                                  \
     526              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_32KHZ,                 \
     527              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 60U, 1, \
     528              :                                                     _stream_context),                              \
     529              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 60u, 2u, 8u, 40000u))
     530              : 
     531              : /**
     532              :  * @brief Helper to declare LC3 Broadcast 32_2_1 codec configuration
     533              :  *
     534              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     535              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     536              :  */
     537            1 : #define BT_BAP_LC3_BROADCAST_PRESET_32_2_1(_loc, _stream_context)                                  \
     538              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_32KHZ,                 \
     539              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 80U, 1,  \
     540              :                                                     _stream_context),                              \
     541              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 80u, 2u, 10u, 40000u))
     542              : 
     543              : /**
     544              :  * @brief Helper to declare LC3 Broadcast 441_1_1 codec configuration
     545              :  *
     546              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     547              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     548              :  */
     549            1 : #define BT_BAP_LC3_BROADCAST_PRESET_441_1_1(_loc, _stream_context)                                 \
     550              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_44KHZ,                 \
     551              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 97U, 1, \
     552              :                                                     _stream_context),                              \
     553              :                           BT_BAP_QOS_CFG_FRAMED(8163u, 97u, 4u, 24u, 40000u))
     554              : 
     555              : /**
     556              :  * @brief Helper to declare LC3 Broadcast 441_2_1 codec configuration
     557              :  *
     558              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     559              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     560              :  */
     561            1 : #define BT_BAP_LC3_BROADCAST_PRESET_441_2_1(_loc, _stream_context)                                 \
     562              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_44KHZ,                 \
     563              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 130U, 1, \
     564              :                                                     _stream_context),                              \
     565              :                           BT_BAP_QOS_CFG_FRAMED(10884u, 130u, 4u, 31u, 40000u))
     566              : 
     567              : /**
     568              :  * @brief Helper to declare LC3 Broadcast 48_1_1 codec configuration
     569              :  *
     570              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     571              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     572              :  */
     573            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_1_1(_loc, _stream_context)                                  \
     574              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     575              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 75U, 1, \
     576              :                                                     _stream_context),                              \
     577              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 75u, 4u, 15u, 40000u))
     578              : 
     579              : /**
     580              :  * @brief Helper to declare LC3 Broadcast 48_2_1 codec configuration
     581              :  *
     582              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     583              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     584              :  */
     585            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_2_1(_loc, _stream_context)                                  \
     586              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     587              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 100U, 1, \
     588              :                                                     _stream_context),                              \
     589              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 100u, 4u, 20u, 40000u))
     590              : 
     591              : /**
     592              :  * @brief Helper to declare LC3 Broadcast 48_3_1 codec configuration
     593              :  *
     594              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     595              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     596              :  */
     597            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_3_1(_loc, _stream_context)                                  \
     598              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     599              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 90U, 1, \
     600              :                                                     _stream_context),                              \
     601              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 90u, 4u, 15u, 40000u))
     602              : 
     603              : /**
     604              :  * @brief Helper to declare LC3 Broadcast 48_4_1 codec configuration
     605              :  *
     606              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     607              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     608              :  */
     609            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_4_1(_loc, _stream_context)                                  \
     610              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     611              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 120u, 1, \
     612              :                                                     _stream_context),                              \
     613              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 120u, 4u, 20u, 40000u))
     614              : 
     615              : /**
     616              :  * @brief Helper to declare LC3 Broadcast 48_5_1 codec configuration
     617              :  *
     618              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     619              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     620              :  */
     621            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_5_1(_loc, _stream_context)                                  \
     622              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     623              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 117u,   \
     624              :                                                     1, _stream_context),                           \
     625              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 117u, 4u, 15u, 40000u))
     626              : 
     627              : /**
     628              :  * @brief Helper to declare LC3 Broadcast 48_6_1 codec configuration
     629              :  *
     630              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     631              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     632              :  */
     633            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_6_1(_loc, _stream_context)                                  \
     634              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     635              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 155u, 1, \
     636              :                                                     _stream_context),                              \
     637              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 155u, 4u, 20u, 40000u))
     638              : 
     639              : /**
     640              :  * @brief Helper to declare LC3 Broadcast 8_1_2 codec configuration
     641              :  *
     642              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     643              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     644              :  */
     645              : /* Following presets are for broadcast high reliability audio data */
     646            1 : #define BT_BAP_LC3_BROADCAST_PRESET_8_1_2(_loc, _stream_context)                                   \
     647              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_8KHZ,                  \
     648              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 26u, 1, \
     649              :                                                     _stream_context),                              \
     650              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 26u, 4u, 45u, 40000u))
     651              : 
     652              : /**
     653              :  * @brief Helper to declare LC3 Broadcast 8_2_2 codec configuration
     654              :  *
     655              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     656              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     657              :  */
     658            1 : #define BT_BAP_LC3_BROADCAST_PRESET_8_2_2(_loc, _stream_context)                                   \
     659              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_8KHZ,                  \
     660              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 30U, 1,  \
     661              :                                                     _stream_context),                              \
     662              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 30u, 4u, 60u, 40000u))
     663              : 
     664              : /**
     665              :  * @brief Helper to declare LC3 Broadcast 16_1_2 codec configuration
     666              :  *
     667              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     668              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     669              :  */
     670            1 : #define BT_BAP_LC3_BROADCAST_PRESET_16_1_2(_loc, _stream_context)                                  \
     671              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_16KHZ,                 \
     672              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 30U, 1, \
     673              :                                                     _stream_context),                              \
     674              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 30u, 4u, 45u, 40000u))
     675              : 
     676              : /**
     677              :  * @brief Helper to declare LC3 Broadcast 16_2_2 codec configuration
     678              :  *
     679              :  * Mandatory to support as both broadcast source and sink
     680              :  *
     681              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     682              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     683              :  */
     684            1 : #define BT_BAP_LC3_BROADCAST_PRESET_16_2_2(_loc, _stream_context)                                  \
     685              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_16KHZ,                 \
     686              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 40U, 1,  \
     687              :                                                     _stream_context),                              \
     688              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 40u, 4u, 60u, 40000u))
     689              : 
     690              : /**
     691              :  * @brief Helper to declare LC3 Broadcast 24_1_2 codec configuration
     692              :  *
     693              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     694              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     695              :  */
     696            1 : #define BT_BAP_LC3_BROADCAST_PRESET_24_1_2(_loc, _stream_context)                                  \
     697              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_24KHZ,                 \
     698              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 45U, 1, \
     699              :                                                     _stream_context),                              \
     700              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 45u, 4u, 45u, 40000u))
     701              : 
     702              : /**
     703              :  * @brief Helper to declare LC3 Broadcast 24_2_2 codec configuration
     704              :  *
     705              :  * Mandatory to support as broadcast sink
     706              :  *
     707              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     708              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     709              :  */
     710            1 : #define BT_BAP_LC3_BROADCAST_PRESET_24_2_2(_loc, _stream_context)                                  \
     711              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_24KHZ,                 \
     712              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 60U, 1,  \
     713              :                                                     _stream_context),                              \
     714              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 60u, 4u, 60u, 40000u))
     715              : 
     716              : /**
     717              :  * @brief Helper to declare LC3 Broadcast 32_1_2 codec configuration
     718              :  *
     719              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     720              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     721              :  */
     722            1 : #define BT_BAP_LC3_BROADCAST_PRESET_32_1_2(_loc, _stream_context)                                  \
     723              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_32KHZ,                 \
     724              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 60U, 1, \
     725              :                                                     _stream_context),                              \
     726              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 60u, 4u, 45u, 40000u))
     727              : 
     728              : /**
     729              :  * @brief Helper to declare LC3 Broadcast 32_2_2 codec configuration
     730              :  *
     731              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     732              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     733              :  */
     734            1 : #define BT_BAP_LC3_BROADCAST_PRESET_32_2_2(_loc, _stream_context)                                  \
     735              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_32KHZ,                 \
     736              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 80U, 1,  \
     737              :                                                     _stream_context),                              \
     738              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 80u, 4u, 60u, 40000u))
     739              : 
     740              : /**
     741              :  * @brief Helper to declare LC3 Broadcast 441_1_2 codec configuration
     742              :  *
     743              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     744              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     745              :  */
     746            1 : #define BT_BAP_LC3_BROADCAST_PRESET_441_1_2(_loc, _stream_context)                                 \
     747              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_44KHZ,                 \
     748              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 97U, 1, \
     749              :                                                     _stream_context),                              \
     750              :                           BT_BAP_QOS_CFG_FRAMED(8163u, 97u, 4u, 54u, 40000u))
     751              : 
     752              : /**
     753              :  * @brief Helper to declare LC3 Broadcast 441_2_2 codec configuration
     754              :  *
     755              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     756              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     757              :  */
     758            1 : #define BT_BAP_LC3_BROADCAST_PRESET_441_2_2(_loc, _stream_context)                                 \
     759              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_44KHZ,                 \
     760              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 130U, 1, \
     761              :                                                     _stream_context),                              \
     762              :                           BT_BAP_QOS_CFG_FRAMED(10884u, 130u, 4u, 60u, 40000u))
     763              : 
     764              : /**
     765              :  * @brief Helper to declare LC3 Broadcast 48_1_2 codec configuration
     766              :  *
     767              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     768              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     769              :  */
     770            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_1_2(_loc, _stream_context)                                  \
     771              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     772              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 75U, 1, \
     773              :                                                     _stream_context),                              \
     774              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 75u, 4u, 50u, 40000u))
     775              : 
     776              : /**
     777              :  * @brief Helper to declare LC3 Broadcast 48_2_2 codec configuration
     778              :  *
     779              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     780              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     781              :  */
     782            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_2_2(_loc, _stream_context)                                  \
     783              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     784              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 100U, 1, \
     785              :                                                     _stream_context),                              \
     786              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 100u, 4u, 65u, 40000u))
     787              : 
     788              : /**
     789              :  * @brief Helper to declare LC3 Broadcast 48_3_2 codec configuration
     790              :  *
     791              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     792              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     793              :  */
     794            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_3_2(_loc, _stream_context)                                  \
     795              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     796              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 90U, 1, \
     797              :                                                     _stream_context),                              \
     798              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 90u, 4u, 50u, 40000u))
     799              : 
     800              : /**
     801              :  * @brief Helper to declare LC3 Broadcast 48_4_2 codec configuration
     802              :  *
     803              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     804              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     805              :  */
     806            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_4_2(_loc, _stream_context)                                  \
     807              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     808              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 120u, 1, \
     809              :                                                     _stream_context),                              \
     810              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 120u, 4u, 65u, 40000u))
     811              : 
     812              : /**
     813              :  * @brief Helper to declare LC3 Broadcast 48_5_2 codec configuration
     814              :  *
     815              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     816              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     817              :  */
     818            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_5_2(_loc, _stream_context)                                  \
     819              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     820              :                                                     BT_AUDIO_CODEC_CFG_DURATION_7_5, _loc, 117u,   \
     821              :                                                     1, _stream_context),                           \
     822              :                           BT_BAP_QOS_CFG_UNFRAMED(7500u, 117u, 4u, 50u, 40000u))
     823              : 
     824              : /**
     825              :  * @brief Helper to declare LC3 Broadcast 48_6_2 codec configuration
     826              :  *
     827              :  * @param _loc             Audio channel location bitfield (@ref bt_audio_location)
     828              :  * @param _stream_context  Stream context (``BT_AUDIO_CONTEXT_*``)
     829              :  */
     830            1 : #define BT_BAP_LC3_BROADCAST_PRESET_48_6_2(_loc, _stream_context)                                  \
     831              :         BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_48KHZ,                 \
     832              :                                                     BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 155u, 1, \
     833              :                                                     _stream_context),                              \
     834              :                           BT_BAP_QOS_CFG_UNFRAMED(10000u, 155u, 4u, 65u, 40000u))
     835              : 
     836              : #ifdef __cplusplus
     837              : }
     838              : #endif
     839              : /** @} */
     840              : 
     841              : #endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_BAP_LC3_PRESET_ */
        

Generated by: LCOV version 2.0-1