Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages

LC3. More...

Data Structures

struct  BT_AUDIO_CODEC_LC3_frame_len
 
struct  bt_audio_codec_octets_per_codec_frame
 

Macros

#define BT_HCI_CODING_FORMAT_LC3   0x06
 LC3 codec ID.
 
#define BT_AUDIO_CODEC_LC3_FREQ_8KHZ   BIT(0)
 LC3 8 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_11KHZ   BIT(1)
 LC3 11.025 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_16KHZ   BIT(2)
 LC3 16 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_22KHZ   BIT(3)
 LC3 22.05 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_24KHZ   BIT(4)
 LC3 24 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_32KHZ   BIT(5)
 LC3 32 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_44KHZ   BIT(6)
 LC3 44.1 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_48KHZ   BIT(7)
 LC3 48 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_ANY
 LC3 any frequency capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_7_5   BIT(0)
 LC3 7.5 msec frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_10   BIT(1)
 LC3 10 msec frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_ANY    (BT_AUDIO_CODEC_LC3_DURATION_7_5 | BT_AUDIO_CODEC_LC3_DURATION_10)
 LC3 any frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_PREFER_7_5   BIT(4)
 LC3 7.5 msec preferred frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_PREFER_10   BIT(5)
 LC3 10 msec preferred frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_MIN   1
 LC3 minimum supported channel counts.
 
#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_MAX   8
 LC3 maximum supported channel counts.
 
#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT(...)    ((uint8_t)((FOR_EACH(BIT, (|), __VA_ARGS__)) >> 1))
 LC3 channel count support capability.
 
#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_7_5   0x00
 LC3 7.5 msec Frame Duration configuration.
 
#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_10   0x01
 LC3 10 msec Frame Duration configuration.
 
#define BT_AUDIO_CODEC_CAP_LC3_DATA(_freq, _duration, _chan_count, _len_min, _len_max, _max_frames_per_sdu)
 Helper to declare LC3 codec capability.
 
#define BT_AUDIO_CODEC_CAP_LC3_META(_prefer_context)
 Helper to declare LC3 codec metadata.
 
#define BT_AUDIO_CODEC_CAP_LC3(_freq, _duration, _chan_count, _len_min, _len_max, _max_frames_per_sdu, _prefer_context)
 Helper to declare LC3 codec.
 
#define BT_AUDIO_CODEC_CFG_LC3_DATA(_freq, _duration, _loc, _len, _frames_per_sdu)
 Helper to declare LC3 codec data configuration.
 
#define BT_AUDIO_CODEC_CFG_LC3_META(_stream_context)
 Helper to declare LC3 codec metadata configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG(_freq, _duration, _loc, _len, _frames_per_sdu, _stream_context)
 Helper to declare LC3 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_8_1(_loc, _stream_context)
 Helper to declare LC3 8.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_8_2(_loc, _stream_context)
 Helper to declare LC3 8.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_16_1(_loc, _stream_context)
 Helper to declare LC3 16.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_16_2(_loc, _stream_context)
 Helper to declare LC3 16.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_24_1(_loc, _stream_context)
 Helper to declare LC3 24.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_24_2(_loc, _stream_context)
 Helper to declare LC3 24.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_32_1(_loc, _stream_context)
 Helper to declare LC3 32.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_32_2(_loc, _stream_context)
 Helper to declare LC3 32.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_441_1(_loc, _stream_context)
 Helper to declare LC3 441.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_441_2(_loc, _stream_context)
 Helper to declare LC3 441.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_1(_loc, _stream_context)
 Helper to declare LC3 48.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_2(_loc, _stream_context)
 Helper to declare LC3 48.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_3(_loc, _stream_context)
 Helper to declare LC3 48.3 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_4(_loc, _stream_context)
 Helper to declare LC3 48.4 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_5(_loc, _stream_context)
 Helper to declare LC3 48.5 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_6(_loc, _stream_context)
 Helper to declare LC3 48.6 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_QOS_7_5(_framing, _sdu, _rtn, _latency, _pd)    BT_AUDIO_CODEC_QOS(7500u, _framing, BT_AUDIO_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval.
 
#define BT_AUDIO_CODEC_LC3_QOS_7_5_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_AUDIO_CODEC_QOS_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval unframed input.
 
#define BT_AUDIO_CODEC_LC3_QOS_10(_framing, _sdu, _rtn, _latency, _pd)    BT_AUDIO_CODEC_QOS(10000u, _framing, BT_AUDIO_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms frame internal.
 
#define BT_AUDIO_CODEC_LC3_QOS_10_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_AUDIO_CODEC_QOS_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms interval unframed input.
 

Enumerations

enum  bt_audio_codec_capability_type {
  BT_AUDIO_CODEC_LC3_FREQ = 0x01 , BT_AUDIO_CODEC_LC3_DURATION = 0x02 , BT_AUDIO_CODEC_LC3_CHAN_COUNT = 0x03 , BT_AUDIO_CODEC_LC3_FRAME_LEN = 0x04 ,
  BT_AUDIO_CODEC_LC3_FRAME_COUNT = 0x05
}
 Codec capability type id's. More...
 
enum  bt_audio_codec_config_type {
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ = 0x01 , BT_AUDIO_CODEC_CONFIG_LC3_DURATION = 0x02 , BT_AUDIO_CODEC_CONFIG_LC3_CHAN_ALLOC = 0x03 , BT_AUDIO_CODEC_CONFIG_LC3_FRAME_LEN = 0x04 ,
  BT_AUDIO_CODEC_CONFIG_LC3_FRAME_BLKS_PER_SDU = 0x05
}
 Codec configuration type IDs. More...
 
enum  bt_audio_codec_config_freq {
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ_8KHZ = 0x01 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_11KHZ = 0x02 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_16KHZ = 0x03 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_22KHZ = 0x04 ,
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ_24KHZ = 0x05 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_32KHZ = 0x06 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_44KHZ = 0x07 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_48KHZ = 0x08 ,
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ_88KHZ = 0x09 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_96KHZ = 0x0a , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_176KHZ = 0x0b , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_192KHZ = 0x0c ,
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ_384KHZ = 0x0d
}
 

Detailed Description

LC3.

Macro Definition Documentation

◆ BT_AUDIO_CODEC_CAP_LC3

#define BT_AUDIO_CODEC_CAP_LC3 (   _freq,
  _duration,
  _chan_count,
  _len_min,
  _len_max,
  _max_frames_per_sdu,
  _prefer_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
BT_AUDIO_CODEC_CAP_LC3_DATA(_freq, _duration, _chan_count, _len_min, \
_len_max, _max_frames_per_sdu), \
BT_AUDIO_CODEC_CAP_LC3_META(_prefer_context))
#define BT_HCI_CODING_FORMAT_LC3
LC3 codec ID.
Definition: lc3.h:32
#define BT_AUDIO_CODEC_CAP_LC3_DATA(_freq, _duration, _chan_count, _len_min, _len_max, _max_frames_per_sdu)
Helper to declare LC3 codec capability.
Definition: lc3.h:267
#define BT_AUDIO_CODEC_CAP_LC3_META(_prefer_context)
Helper to declare LC3 codec metadata.
Definition: lc3.h:284
#define BT_AUDIO_CODEC_CAP(_id, _cid, _vid, _data, _meta)
Helper to declare Codec capability parsing APIs structure.
Definition: audio.h:230

Helper to declare LC3 codec.

Parameters
_freqSupported Sampling Frequencies bitfield (see BT_AUDIO_CODEC_LC3_FREQ_*)
_durationSupported Frame Durations bitfield (see BT_AUDIO_CODEC_LC3_DURATION_*)
_chan_countSupported channels (see BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT)
_len_minMinimum number of octets supported per codec frame
_len_maxMaximum number of octets supported per codec frame
_max_frames_per_sduSupported maximum codec frames per SDU
_prefer_contextPreferred contexts (bt_audio_context)

◆ BT_AUDIO_CODEC_CAP_LC3_DATA

#define BT_AUDIO_CODEC_CAP_LC3_DATA (   _freq,
  _duration,
  _chan_count,
  _len_min,
  _len_max,
  _max_frames_per_sdu 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
{ \
BT_AUDIO_CODEC_DATA(BT_AUDIO_CODEC_LC3_FREQ, BT_BYTES_LIST_LE16(_freq)), \
BT_AUDIO_CODEC_DATA(BT_AUDIO_CODEC_LC3_DURATION, (_duration)), \
BT_AUDIO_CODEC_DATA(BT_AUDIO_CODEC_LC3_CHAN_COUNT, (_chan_count)), \
BT_AUDIO_CODEC_DATA(BT_AUDIO_CODEC_LC3_FRAME_LEN, \
BT_BYTES_LIST_LE16(_len_min), \
BT_BYTES_LIST_LE16(_len_max)), \
COND_CODE_1(_max_frames_per_sdu, (), \
(_max_frames_per_sdu)))) \
}
@ BT_AUDIO_CODEC_LC3_DURATION
LC3 frame duration capability type.
Definition: lc3.h:52
@ BT_AUDIO_CODEC_LC3_FREQ
LC3 sample frequency capability type.
Definition: lc3.h:47
@ BT_AUDIO_CODEC_LC3_CHAN_COUNT
LC3 channel count capability type.
Definition: lc3.h:57
@ BT_AUDIO_CODEC_LC3_FRAME_LEN
LC3 frame length capability type.
Definition: lc3.h:62
@ BT_AUDIO_CODEC_LC3_FRAME_COUNT
Max codec frame count per SDU capability type.
Definition: lc3.h:67
#define BT_AUDIO_CODEC_DATA(_type, _bytes...)
Helper to declare elements of bt_audio_codec_cap arrays.
Definition: audio.h:196
#define BT_BYTES_LIST_LE16(_v)
Encode 16-bit value into array values in little-endian format.
Definition: byteorder.h:36

Helper to declare LC3 codec capability.

_max_frames_per_sdu value is optional and will be included only if != 1

◆ BT_AUDIO_CODEC_CAP_LC3_META

#define BT_AUDIO_CODEC_CAP_LC3_META (   _prefer_context)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
{ \
BT_AUDIO_CODEC_DATA(BT_AUDIO_METADATA_TYPE_PREF_CONTEXT, \
BT_BYTES_LIST_LE16(_prefer_context)) \
}
@ BT_AUDIO_METADATA_TYPE_PREF_CONTEXT
Preferred audio context.
Definition: audio.h:126

Helper to declare LC3 codec metadata.

◆ BT_AUDIO_CODEC_CFG_LC3_DATA

#define BT_AUDIO_CODEC_CFG_LC3_DATA (   _freq,
  _duration,
  _loc,
  _len,
  _frames_per_sdu 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
{ \
BT_AUDIO_CODEC_DATA(BT_AUDIO_CODEC_CONFIG_LC3_FREQ, (_freq)), \
BT_AUDIO_CODEC_DATA(BT_AUDIO_CODEC_CONFIG_LC3_DURATION, (_duration)), \
BT_AUDIO_CODEC_DATA(BT_AUDIO_CODEC_CONFIG_LC3_CHAN_ALLOC, \
BT_AUDIO_CODEC_DATA(BT_AUDIO_CODEC_CONFIG_LC3_FRAME_LEN, \
COND_CODE_1(_frames_per_sdu, (), \
(_frames_per_sdu)))) \
}
@ BT_AUDIO_CODEC_CONFIG_LC3_FREQ
LC3 Sample Frequency configuration type.
Definition: lc3.h:176
@ BT_AUDIO_CODEC_CONFIG_LC3_FRAME_LEN
LC3 Frame Length configuration type.
Definition: lc3.h:185
@ BT_AUDIO_CODEC_CONFIG_LC3_DURATION
LC3 Frame Duration configuration type.
Definition: lc3.h:179
@ BT_AUDIO_CODEC_CONFIG_LC3_CHAN_ALLOC
LC3 channel Allocation configuration type.
Definition: lc3.h:182
@ BT_AUDIO_CODEC_CONFIG_LC3_FRAME_BLKS_PER_SDU
Codec frame blocks, per SDU configuration type.
Definition: lc3.h:188
#define BT_BYTES_LIST_LE32(_v)
Encode 32-bit value into array values in little-endian format.
Definition: byteorder.h:64

Helper to declare LC3 codec data configuration.

Parameters
_freqSampling frequency (BT_AUDIO_CODEC_CONFIG_LC3_FREQ_*)
_durationFrame duration (BT_AUDIO_CODEC_CONFIG_LC3_DURATION_*)
_locAudio channel location bitfield (bt_audio_location)
_lenOctets per frame (16-bit integer)
_frames_per_sduFrames per SDU (8-bit integer). This value is optional and will be included only if != 1

◆ BT_AUDIO_CODEC_CFG_LC3_META

#define BT_AUDIO_CODEC_CFG_LC3_META (   _stream_context)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
{ \
BT_BYTES_LIST_LE16(_stream_context)) \
}
@ BT_AUDIO_METADATA_TYPE_STREAM_CONTEXT
Streaming audio context.
Definition: audio.h:137

Helper to declare LC3 codec metadata configuration.

◆ BT_AUDIO_CODEC_CONFIG_LC3_DURATION_10

#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_10   0x01

#include <zephyr/bluetooth/audio/lc3.h>

LC3 10 msec Frame Duration configuration.

◆ BT_AUDIO_CODEC_CONFIG_LC3_DURATION_7_5

#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_7_5   0x00

#include <zephyr/bluetooth/audio/lc3.h>

LC3 7.5 msec Frame Duration configuration.

◆ BT_AUDIO_CODEC_LC3_CHAN_COUNT_MAX

#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_MAX   8

#include <zephyr/bluetooth/audio/lc3.h>

LC3 maximum supported channel counts.

◆ BT_AUDIO_CODEC_LC3_CHAN_COUNT_MIN

#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_MIN   1

#include <zephyr/bluetooth/audio/lc3.h>

LC3 minimum supported channel counts.

◆ BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT

#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT (   ...)     ((uint8_t)((FOR_EACH(BIT, (|), __VA_ARGS__)) >> 1))

#include <zephyr/bluetooth/audio/lc3.h>

LC3 channel count support capability.

Macro accepts variable number of channel counts. The allowed channel counts are defined by specification and have to be in range from BT_AUDIO_CODEC_LC3_CHAN_COUNT_MIN to BT_AUDIO_CODEC_LC3_CHAN_COUNT_MAX inclusive.

Example to support 1 and 3 channels: BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT(1, 3)

◆ BT_AUDIO_CODEC_LC3_CONFIG

#define BT_AUDIO_CODEC_LC3_CONFIG (   _freq,
  _duration,
  _loc,
  _len,
  _frames_per_sdu,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
BT_HCI_CODING_FORMAT_LC3, 0x0000, 0x0000, \
BT_AUDIO_CODEC_CFG_LC3_DATA(_freq, _duration, _loc, _len, _frames_per_sdu), \
BT_AUDIO_CODEC_CFG_LC3_META(_stream_context))
#define BT_AUDIO_CODEC_CFG_LC3_META(_stream_context)
Helper to declare LC3 codec metadata configuration.
Definition: lc3.h:335
#define BT_AUDIO_CODEC_CFG_LC3_DATA(_freq, _duration, _loc, _len, _frames_per_sdu)
Helper to declare LC3 codec data configuration.
Definition: lc3.h:319
#define BT_AUDIO_CODEC_CFG(_id, _cid, _vid, _data, _meta)
Helper to declare Codec config parsing APIs.
Definition: audio.h:208

Helper to declare LC3 codec configuration.

Parameters
_freqSampling frequency (BT_AUDIO_CODEC_CONFIG_LC3_FREQ_*)
_durationFrame duration (BT_AUDIO_CODEC_CONFIG_LC3_DURATION_*)
_locAudio channel location bitfield (bt_audio_location)
_lenOctets per frame (16-bit integer)
_frames_per_sduFrames per SDU (8-bit integer)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_16_1

#define BT_AUDIO_CODEC_LC3_CONFIG_16_1 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
_stream_context)
#define BT_AUDIO_CODEC_LC3_CONFIG(_freq, _duration, _loc, _len, _frames_per_sdu, _stream_context)
Helper to declare LC3 codec configuration.
Definition: lc3.h:351
#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_7_5
LC3 7.5 msec Frame Duration configuration.
Definition: lc3.h:249
@ BT_AUDIO_CODEC_CONFIG_LC3_FREQ_16KHZ
16 Khz codec Sample Frequency configuration
Definition: lc3.h:203

Helper to declare LC3 16.1 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_16_2

#define BT_AUDIO_CODEC_LC3_CONFIG_16_2 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
_stream_context)
#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_10
LC3 10 msec Frame Duration configuration.
Definition: lc3.h:253

Helper to declare LC3 16.2 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_24_1

#define BT_AUDIO_CODEC_LC3_CONFIG_24_1 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
_stream_context)
@ BT_AUDIO_CODEC_CONFIG_LC3_FREQ_24KHZ
24 Khz codec Sample Frequency configuration
Definition: lc3.h:211

Helper to declare LC3 24.1 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_24_2

#define BT_AUDIO_CODEC_LC3_CONFIG_24_2 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:

Helper to declare LC3 24.2 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_32_1

#define BT_AUDIO_CODEC_LC3_CONFIG_32_1 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
_stream_context)
@ BT_AUDIO_CODEC_CONFIG_LC3_FREQ_32KHZ
32 Khz codec Sample Frequency configuration
Definition: lc3.h:215

Helper to declare LC3 32.1 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_32_2

#define BT_AUDIO_CODEC_LC3_CONFIG_32_2 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:

Helper to declare LC3 32.2 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_441_1

#define BT_AUDIO_CODEC_LC3_CONFIG_441_1 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
_stream_context)
@ BT_AUDIO_CODEC_CONFIG_LC3_FREQ_44KHZ
44.1 Khz codec Sample Frequency configuration
Definition: lc3.h:219

Helper to declare LC3 441.1 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_441_2

#define BT_AUDIO_CODEC_LC3_CONFIG_441_2 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:

Helper to declare LC3 441.2 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_48_1

#define BT_AUDIO_CODEC_LC3_CONFIG_48_1 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
_stream_context)
@ BT_AUDIO_CODEC_CONFIG_LC3_FREQ_48KHZ
48 Khz codec Sample Frequency configuration
Definition: lc3.h:223

Helper to declare LC3 48.1 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_48_2

#define BT_AUDIO_CODEC_LC3_CONFIG_48_2 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:

Helper to declare LC3 48.2 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_48_3

#define BT_AUDIO_CODEC_LC3_CONFIG_48_3 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:

Helper to declare LC3 48.3 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_48_4

#define BT_AUDIO_CODEC_LC3_CONFIG_48_4 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:

Helper to declare LC3 48.4 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_48_5

#define BT_AUDIO_CODEC_LC3_CONFIG_48_5 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:

Helper to declare LC3 48.5 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_48_6

#define BT_AUDIO_CODEC_LC3_CONFIG_48_6 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:

Helper to declare LC3 48.6 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_8_1

#define BT_AUDIO_CODEC_LC3_CONFIG_8_1 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:
_stream_context)
@ BT_AUDIO_CODEC_CONFIG_LC3_FREQ_8KHZ
8 Khz codec Sample Frequency configuration
Definition: lc3.h:195

Helper to declare LC3 8.1 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_CONFIG_8_2

#define BT_AUDIO_CODEC_LC3_CONFIG_8_2 (   _loc,
  _stream_context 
)

#include <zephyr/bluetooth/audio/lc3.h>

Value:

Helper to declare LC3 8.2 codec configuration.

Parameters
_locAudio channel location bitfield (bt_audio_location)
_stream_contextStream context (BT_AUDIO_CONTEXT_*)

◆ BT_AUDIO_CODEC_LC3_DURATION_10

#define BT_AUDIO_CODEC_LC3_DURATION_10   BIT(1)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 10 msec frame duration capability.

◆ BT_AUDIO_CODEC_LC3_DURATION_7_5

#define BT_AUDIO_CODEC_LC3_DURATION_7_5   BIT(0)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 7.5 msec frame duration capability.

◆ BT_AUDIO_CODEC_LC3_DURATION_ANY

#define BT_AUDIO_CODEC_LC3_DURATION_ANY    (BT_AUDIO_CODEC_LC3_DURATION_7_5 | BT_AUDIO_CODEC_LC3_DURATION_10)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 any frame duration capability.

◆ BT_AUDIO_CODEC_LC3_DURATION_PREFER_10

#define BT_AUDIO_CODEC_LC3_DURATION_PREFER_10   BIT(5)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 10 msec preferred frame duration capability.

◆ BT_AUDIO_CODEC_LC3_DURATION_PREFER_7_5

#define BT_AUDIO_CODEC_LC3_DURATION_PREFER_7_5   BIT(4)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 7.5 msec preferred frame duration capability.

◆ BT_AUDIO_CODEC_LC3_FREQ_11KHZ

#define BT_AUDIO_CODEC_LC3_FREQ_11KHZ   BIT(1)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 11.025 Khz frequency capability.

◆ BT_AUDIO_CODEC_LC3_FREQ_16KHZ

#define BT_AUDIO_CODEC_LC3_FREQ_16KHZ   BIT(2)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 16 Khz frequency capability.

◆ BT_AUDIO_CODEC_LC3_FREQ_22KHZ

#define BT_AUDIO_CODEC_LC3_FREQ_22KHZ   BIT(3)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 22.05 Khz frequency capability.

◆ BT_AUDIO_CODEC_LC3_FREQ_24KHZ

#define BT_AUDIO_CODEC_LC3_FREQ_24KHZ   BIT(4)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 24 Khz frequency capability.

◆ BT_AUDIO_CODEC_LC3_FREQ_32KHZ

#define BT_AUDIO_CODEC_LC3_FREQ_32KHZ   BIT(5)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 32 Khz frequency capability.

◆ BT_AUDIO_CODEC_LC3_FREQ_44KHZ

#define BT_AUDIO_CODEC_LC3_FREQ_44KHZ   BIT(6)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 44.1 Khz frequency capability.

◆ BT_AUDIO_CODEC_LC3_FREQ_48KHZ

#define BT_AUDIO_CODEC_LC3_FREQ_48KHZ   BIT(7)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 48 Khz frequency capability.

◆ BT_AUDIO_CODEC_LC3_FREQ_8KHZ

#define BT_AUDIO_CODEC_LC3_FREQ_8KHZ   BIT(0)

#include <zephyr/bluetooth/audio/lc3.h>

LC3 8 Khz frequency capability.

◆ BT_AUDIO_CODEC_LC3_FREQ_ANY

#define BT_AUDIO_CODEC_LC3_FREQ_ANY

#include <zephyr/bluetooth/audio/lc3.h>

Value:
#define BT_AUDIO_CODEC_LC3_FREQ_24KHZ
LC3 24 Khz frequency capability.
Definition: lc3.h:89
#define BT_AUDIO_CODEC_LC3_FREQ_8KHZ
LC3 8 Khz frequency capability.
Definition: lc3.h:73
#define BT_AUDIO_CODEC_LC3_FREQ_32KHZ
LC3 32 Khz frequency capability.
Definition: lc3.h:93
#define BT_AUDIO_CODEC_LC3_FREQ_48KHZ
LC3 48 Khz frequency capability.
Definition: lc3.h:101
#define BT_AUDIO_CODEC_LC3_FREQ_44KHZ
LC3 44.1 Khz frequency capability.
Definition: lc3.h:97
#define BT_AUDIO_CODEC_LC3_FREQ_16KHZ
LC3 16 Khz frequency capability.
Definition: lc3.h:81

LC3 any frequency capability.

◆ BT_AUDIO_CODEC_LC3_QOS_10

#define BT_AUDIO_CODEC_LC3_QOS_10 (   _framing,
  _sdu,
  _rtn,
  _latency,
  _pd 
)     BT_AUDIO_CODEC_QOS(10000u, _framing, BT_AUDIO_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)

#include <zephyr/bluetooth/audio/lc3.h>

Helper to declare LC3 codec QoS for 10ms frame internal.

◆ BT_AUDIO_CODEC_LC3_QOS_10_UNFRAMED

#define BT_AUDIO_CODEC_LC3_QOS_10_UNFRAMED (   _sdu,
  _rtn,
  _latency,
  _pd 
)     BT_AUDIO_CODEC_QOS_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)

#include <zephyr/bluetooth/audio/lc3.h>

Helper to declare LC3 codec QoS for 10ms interval unframed input.

◆ BT_AUDIO_CODEC_LC3_QOS_7_5

#define BT_AUDIO_CODEC_LC3_QOS_7_5 (   _framing,
  _sdu,
  _rtn,
  _latency,
  _pd 
)     BT_AUDIO_CODEC_QOS(7500u, _framing, BT_AUDIO_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)

#include <zephyr/bluetooth/audio/lc3.h>

Helper to declare LC3 codec QoS for 7.5ms interval.

◆ BT_AUDIO_CODEC_LC3_QOS_7_5_UNFRAMED

#define BT_AUDIO_CODEC_LC3_QOS_7_5_UNFRAMED (   _sdu,
  _rtn,
  _latency,
  _pd 
)     BT_AUDIO_CODEC_QOS_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)

#include <zephyr/bluetooth/audio/lc3.h>

Helper to declare LC3 codec QoS for 7.5ms interval unframed input.

◆ BT_HCI_CODING_FORMAT_LC3

#define BT_HCI_CODING_FORMAT_LC3   0x06

#include <zephyr/bluetooth/audio/lc3.h>

LC3 codec ID.

Enumeration Type Documentation

◆ bt_audio_codec_capability_type

#include <zephyr/bluetooth/audio/lc3.h>

Codec capability type id's.

Used to build and parse codec capabilities as specified in the PAC specification. Source is assigned numbers for Generic Audio, bluetooth.com.

Even though they are in-fixed with LC3 they can be used for other codec types as well.

Enumerator
BT_AUDIO_CODEC_LC3_FREQ 

LC3 sample frequency capability type.

BT_AUDIO_CODEC_LC3_DURATION 

LC3 frame duration capability type.

BT_AUDIO_CODEC_LC3_CHAN_COUNT 

LC3 channel count capability type.

BT_AUDIO_CODEC_LC3_FRAME_LEN 

LC3 frame length capability type.

BT_AUDIO_CODEC_LC3_FRAME_COUNT 

Max codec frame count per SDU capability type.

◆ bt_audio_codec_config_freq

#include <zephyr/bluetooth/audio/lc3.h>

Enumerator
BT_AUDIO_CODEC_CONFIG_LC3_FREQ_8KHZ 

8 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_11KHZ 

11.025 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_16KHZ 

16 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_22KHZ 

22.05 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_24KHZ 

24 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_32KHZ 

32 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_44KHZ 

44.1 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_48KHZ 

48 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_88KHZ 

88.2 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_96KHZ 

96 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_176KHZ 

176.4 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_192KHZ 

192 Khz codec Sample Frequency configuration

BT_AUDIO_CODEC_CONFIG_LC3_FREQ_384KHZ 

384 Khz codec Sample Frequency configuration

◆ bt_audio_codec_config_type

#include <zephyr/bluetooth/audio/lc3.h>

Codec configuration type IDs.

Used to build and parse codec configurations as specified in the ASCS and BAP specifications. Source is assigned numbers for Generic Audio, bluetooth.com.

Even though they are in-fixed with LC3 they can be used for other codec types as well.

Enumerator
BT_AUDIO_CODEC_CONFIG_LC3_FREQ 

LC3 Sample Frequency configuration type.

BT_AUDIO_CODEC_CONFIG_LC3_DURATION 

LC3 Frame Duration configuration type.

BT_AUDIO_CODEC_CONFIG_LC3_CHAN_ALLOC 

LC3 channel Allocation configuration type.

BT_AUDIO_CODEC_CONFIG_LC3_FRAME_LEN 

LC3 Frame Length configuration type.

BT_AUDIO_CODEC_CONFIG_LC3_FRAME_BLKS_PER_SDU 

Codec frame blocks, per SDU configuration type.