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
audio.h
Go to the documentation of this file.
1
5/*
6 * Copyright (c) 2020 Intel Corporation
7 * Copyright (c) 2020-2023 Nordic Semiconductor ASA
8 *
9 * SPDX-License-Identifier: Apache-2.0
10 */
11#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_AUDIO_H_
12#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_AUDIO_H_
13
21#include <zephyr/sys/atomic.h>
28
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#define BT_AUDIO_BROADCAST_ID_SIZE 3 /* octets */
36#define BT_AUDIO_BROADCAST_ID_MAX 0xFFFFFFU
38#define BT_AUDIO_PD_PREF_NONE 0x000000U
40#define BT_AUDIO_PD_MAX 0xFFFFFFU
41
42#define BT_AUDIO_BROADCAST_CODE_SIZE 16
43
62};
63
67#define BT_AUDIO_CONTEXT_TYPE_ANY (BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED | \
68 BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL | \
69 BT_AUDIO_CONTEXT_TYPE_MEDIA | \
70 BT_AUDIO_CONTEXT_TYPE_GAME | \
71 BT_AUDIO_CONTEXT_TYPE_INSTRUCTIONAL | \
72 BT_AUDIO_CONTEXT_TYPE_VOICE_ASSISTANTS | \
73 BT_AUDIO_CONTEXT_TYPE_LIVE | \
74 BT_AUDIO_CONTEXT_TYPE_SOUND_EFFECTS | \
75 BT_AUDIO_CONTEXT_TYPE_NOTIFICATIONS | \
76 BT_AUDIO_CONTEXT_TYPE_RINGTONE | \
77 BT_AUDIO_CONTEXT_TYPE_ALERTS | \
78 BT_AUDIO_CONTEXT_TYPE_EMERGENCY_ALARM)
79
104
109};
110
127
138
141
147
150
156
159
165
168
171
174};
175
179#define BT_AUDIO_METADATA_TYPE_IS_KNOWN(_type) \
180 (IN_RANGE(_type, BT_AUDIO_METADATA_TYPE_PREF_CONTEXT, \
181 BT_AUDIO_METADATA_TYPE_BROADCAST_IMMEDIATE) || \
182 IN_RANGE(_type, BT_AUDIO_METADATA_TYPE_EXTENDED, BT_AUDIO_METADATA_TYPE_VENDOR))
183
184/* Unicast Announcement Type, Generic Audio */
185#define BT_AUDIO_UNICAST_ANNOUNCEMENT_GENERAL 0x00
186#define BT_AUDIO_UNICAST_ANNOUNCEMENT_TARGETED 0x01
187
196#define BT_AUDIO_CODEC_DATA(_type, _bytes...) \
197 (sizeof((uint8_t)_type) + sizeof((uint8_t[]){_bytes})), (_type), _bytes
198
208#define BT_AUDIO_CODEC_CFG(_id, _cid, _vid, _data, _meta) \
209 ((struct bt_audio_codec_cfg){ \
210 /* Use HCI data path as default, can be overwritten by application */ \
211 .path_id = BT_ISO_DATA_PATH_HCI, \
212 .id = _id, \
213 .cid = _cid, \
214 .vid = _vid, \
215 .data_len = sizeof((uint8_t[])_data), \
216 .data = _data, \
217 .meta_len = sizeof((uint8_t[])_meta), \
218 .meta = _meta, \
219 })
220
230#define BT_AUDIO_CODEC_CAP(_id, _cid, _vid, _data, _meta) \
231 ((struct bt_audio_codec_cap){ \
232 /* Use HCI data path as default, can be overwritten by application */ \
233 .path_id = BT_ISO_DATA_PATH_HCI, \
234 .id = (_id), \
235 .cid = (_cid), \
236 .vid = (_vid), \
237 .data_len = sizeof((uint8_t[])_data), \
238 .data = _data, \
239 .meta_len = sizeof((uint8_t[])_meta), \
240 .meta = _meta, \
241 })
242
277};
278
282#define BT_AUDIO_LOCATION_ANY (BT_AUDIO_LOCATION_FRONT_LEFT | \
283 BT_AUDIO_LOCATION_FRONT_RIGHT | \
284 BT_AUDIO_LOCATION_FRONT_CENTER | \
285 BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_1 | \
286 BT_AUDIO_LOCATION_BACK_LEFT | \
287 BT_AUDIO_LOCATION_BACK_RIGHT | \
288 BT_AUDIO_LOCATION_FRONT_LEFT_OF_CENTER | \
289 BT_AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER | \
290 BT_AUDIO_LOCATION_BACK_CENTER | \
291 BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_2 | \
292 BT_AUDIO_LOCATION_SIDE_LEFT | \
293 BT_AUDIO_LOCATION_SIDE_RIGHT | \
294 BT_AUDIO_LOCATION_TOP_FRONT_LEFT | \
295 BT_AUDIO_LOCATION_TOP_FRONT_RIGHT | \
296 BT_AUDIO_LOCATION_TOP_FRONT_CENTER | \
297 BT_AUDIO_LOCATION_TOP_CENTER | \
298 BT_AUDIO_LOCATION_TOP_BACK_LEFT | \
299 BT_AUDIO_LOCATION_TOP_BACK_RIGHT | \
300 BT_AUDIO_LOCATION_TOP_SIDE_LEFT | \
301 BT_AUDIO_LOCATION_TOP_SIDE_RIGHT | \
302 BT_AUDIO_LOCATION_TOP_BACK_CENTER | \
303 BT_AUDIO_LOCATION_BOTTOM_FRONT_CENTER | \
304 BT_AUDIO_LOCATION_BOTTOM_FRONT_LEFT | \
305 BT_AUDIO_LOCATION_BOTTOM_FRONT_RIGHT | \
306 BT_AUDIO_LOCATION_FRONT_LEFT_WIDE | \
307 BT_AUDIO_LOCATION_FRONT_RIGHT_WIDE | \
308 BT_AUDIO_LOCATION_LEFT_SURROUND | \
309 BT_AUDIO_LOCATION_RIGHT_SURROUND)
310
325#if CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE > 0
327 size_t data_len;
329 uint8_t data[CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE];
330#endif /* CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE > 0 */
331#if defined(CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE)
333 size_t meta_len;
335 uint8_t meta[CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE];
336#endif /* CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE */
337};
338
353#if CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE > 0
355 size_t data_len;
357 uint8_t data[CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE];
358#endif /* CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE > 0 */
359#if CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE > 0
361 size_t meta_len;
363 uint8_t meta[CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE];
364#endif /* CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE > 0 */
365};
366
381int bt_audio_data_parse(const uint8_t ltv[], size_t size,
382 bool (*func)(struct bt_data *data, void *user_data), void *user_data);
383
388};
389
401#define BT_AUDIO_CODEC_QOS(_interval, _framing, _phy, _sdu, _rtn, _latency, _pd) \
402 ((struct bt_audio_codec_qos){ \
403 .interval = _interval, \
404 .framing = _framing, \
405 .phy = _phy, \
406 .sdu = _sdu, \
407 .rtn = _rtn, \
408 .latency = _latency, \
409 .pd = _pd, \
410 })
411
416};
417
419enum {
423};
424
434#define BT_AUDIO_CODEC_QOS_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd) \
435 BT_AUDIO_CODEC_QOS(_interval, BT_AUDIO_CODEC_QOS_FRAMING_UNFRAMED, BT_AUDIO_CODEC_QOS_2M, \
436 _sdu, _rtn, _latency, _pd)
437
447#define BT_AUDIO_CODEC_QOS_FRAMED(_interval, _sdu, _rtn, _latency, _pd) \
448 BT_AUDIO_CODEC_QOS(_interval, BT_AUDIO_CODEC_QOS_FRAMING_FRAMED, BT_AUDIO_CODEC_QOS_2M, \
449 _sdu, _rtn, _latency, _pd)
450
455
458
461
464
465#if defined(CONFIG_BT_BAP_BROADCAST_SOURCE) || defined(CONFIG_BT_BAP_UNICAST)
471 uint16_t latency;
472#endif /* CONFIG_BT_BAP_BROADCAST_SOURCE || CONFIG_BT_BAP_UNICAST */
473
476
482};
483
496#define BT_AUDIO_CODEC_QOS_PREF(_unframed_supported, _phy, _rtn, _latency, _pd_min, _pd_max, \
497 _pref_pd_min, _pref_pd_max) \
498 { \
499 .unframed_supported = _unframed_supported, \
500 .phy = _phy, \
501 .rtn = _rtn, \
502 .latency = _latency, \
503 .pd_min = _pd_min, \
504 .pd_max = _pd_max, \
505 .pref_pd_min = _pref_pd_min, \
506 .pref_pd_max = _pref_pd_max, \
507 }
508
517
520
523
526
536
546
552
558};
559
578
588
599
612
623
641 enum bt_audio_location *chan_allocation);
642
654 enum bt_audio_location chan_allocation);
655
675
687 uint16_t octets_per_frame);
688
711 bool fallback_to_default);
712
724 uint8_t frame_blocks);
725
734 const uint8_t **data);
735
749 const uint8_t *data, size_t data_len);
750
763 const uint8_t **data);
764
777
790
803 const uint8_t **program_info);
804
817
830 const uint8_t **ccid_list);
831
844
857 const uint8_t **program_info_uri);
858
871
883 const struct bt_audio_codec_cfg *codec_cfg);
884
897 const uint8_t **extended_meta);
898
911 const uint8_t **vendor_meta); /* End of bt_audio_codec_cfg */
913
934 const uint8_t **data);
935
947
959
971
984 const struct bt_audio_codec_cap *codec_cap,
985 struct bt_audio_codec_octets_per_codec_frame *codec_frame);
986
998
1010 const uint8_t **data);
1011
1024
1037
1050 const uint8_t **program_info);
1051
1064
1077 const uint8_t **ccid_list);
1078
1091
1104 const uint8_t **program_info_uri);
1105
1118
1130 const struct bt_audio_codec_cap *codec_cap);
1131
1144 const uint8_t **extended_meta);
1145
1158 const uint8_t **vendor_meta); /* End of bt_audio_codec_cap */
1160
1161#ifdef __cplusplus
1162}
1163#endif
1164 /* end of bt_audio */
1166
1167#endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_H_ */
Bluetooth data buffer API.
Bluetooth connection handling.
Generic Attribute Profile handling.
bt_audio_codec_config_freq
Definition: lc3.h:191
int bt_audio_codec_cap_meta_get_ccid_list(const struct bt_audio_codec_cap *codec_cap, const uint8_t **ccid_list)
Extract CCID list.
int bt_audio_codec_cap_meta_get_program_info(const struct bt_audio_codec_cap *codec_cap, const uint8_t **program_info)
Extract program info.
int bt_audio_codec_cap_get_max_codec_frames_per_sdu(const struct bt_audio_codec_cap *codec_cap)
Extract the frequency from a codec capability.
int bt_audio_codec_cap_meta_get_val(const struct bt_audio_codec_cap *codec_cap, uint8_t type, const uint8_t **data)
Lookup a specific metadata value based on type.
int bt_audio_codec_cap_meta_get_extended(const struct bt_audio_codec_cap *codec_cap, const uint8_t **extended_meta)
Extract extended metadata.
int bt_audio_codec_cap_get_supported_audio_chan_counts(const struct bt_audio_codec_cap *codec_cap)
Extract the frequency from a codec capability.
int bt_audio_codec_cap_meta_get_audio_active_state(const struct bt_audio_codec_cap *codec_cap)
Extract audio active state.
int bt_audio_codec_cap_meta_get_stream_context(const struct bt_audio_codec_cap *codec_cap)
Extract stream contexts.
int bt_audio_codec_cap_get_frame_duration(const struct bt_audio_codec_cap *codec_cap)
Extract the frequency from a codec capability.
int bt_audio_codec_cap_get_freq(const struct bt_audio_codec_cap *codec_cap)
Extract the frequency from a codec capability.
int bt_audio_codec_cap_get_octets_per_frame(const struct bt_audio_codec_cap *codec_cap, struct bt_audio_codec_octets_per_codec_frame *codec_frame)
Extract the frequency from a codec capability.
int bt_audio_codec_cap_meta_get_pref_context(const struct bt_audio_codec_cap *codec_cap)
Extract preferred contexts.
int bt_audio_codec_cap_meta_get_parental_rating(const struct bt_audio_codec_cap *codec_cap)
Extract parental rating.
int bt_audio_codec_cap_meta_get_bcast_audio_immediate_rend_flag(const struct bt_audio_codec_cap *codec_cap)
Extract broadcast audio immediate rendering flag.
int bt_audio_codec_cap_meta_get_vendor(const struct bt_audio_codec_cap *codec_cap, const uint8_t **vendor_meta)
Extract vendor specific metadata.
int bt_audio_codec_cap_meta_get_stream_lang(const struct bt_audio_codec_cap *codec_cap)
Extract stream language.
int bt_audio_codec_cap_meta_get_program_info_uri(const struct bt_audio_codec_cap *codec_cap, const uint8_t **program_info_uri)
Extract program info URI.
uint8_t bt_audio_codec_cap_get_val(const struct bt_audio_codec_cap *codec_cap, uint8_t type, const uint8_t **data)
Lookup a specific value based on type.
int bt_audio_codec_cfg_meta_get_program_info(const struct bt_audio_codec_cfg *codec_cfg, const uint8_t **program_info)
Extract program info.
int bt_audio_codec_cfg_meta_get_audio_active_state(const struct bt_audio_codec_cfg *codec_cfg)
Extract audio active state.
int bt_audio_codec_cfg_set_freq(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_codec_config_freq freq)
Set the frequency of a codec configuration.
int bt_audio_codec_cfg_meta_get_stream_lang(const struct bt_audio_codec_cfg *codec_cfg)
Extract stream language.
int bt_audio_codec_cfg_meta_get_extended(const struct bt_audio_codec_cfg *codec_cfg, const uint8_t **extended_meta)
Extract extended metadata.
int bt_audio_codec_cfg_freq_to_freq_hz(enum bt_audio_codec_config_freq freq)
Convert assigned numbers frequency to frequency value.
int bt_audio_codec_cfg_meta_get_vendor(const struct bt_audio_codec_cfg *codec_cfg, const uint8_t **vendor_meta)
Extract vendor specific metadata.
int bt_audio_codec_cfg_meta_get_stream_context(const struct bt_audio_codec_cfg *codec_cfg)
Extract stream contexts.
int bt_audio_codec_cfg_get_octets_per_frame(const struct bt_audio_codec_cfg *codec_cfg)
Extract frame size in octets from BT codec config.
int bt_audio_codec_cfg_meta_get_pref_context(const struct bt_audio_codec_cfg *codec_cfg)
Extract preferred contexts.
int bt_audio_codec_cfg_get_frame_duration_us(const struct bt_audio_codec_cfg *codec_cfg)
Extract frame duration from BT codec config.
int bt_audio_codec_cfg_meta_get_bcast_audio_immediate_rend_flag(const struct bt_audio_codec_cfg *codec_cfg)
Extract broadcast audio immediate rendering flag.
int bt_audio_codec_cfg_meta_get_program_info_uri(const struct bt_audio_codec_cfg *codec_cfg, const uint8_t **program_info_uri)
Extract program info URI.
uint8_t bt_audio_codec_cfg_get_val(const struct bt_audio_codec_cfg *codec_cfg, uint8_t type, const uint8_t **data)
Lookup a specific codec configuration value.
int bt_audio_codec_cfg_set_octets_per_frame(struct bt_audio_codec_cfg *codec_cfg, uint16_t octets_per_frame)
Set the octets per codec frame of a codec configuration.
int bt_audio_codec_cfg_get_chan_allocation(const struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_location *chan_allocation)
Extract channel allocation from BT codec config.
int bt_audio_codec_cfg_freq_hz_to_freq(uint32_t freq_hz)
Convert frequency value to assigned numbers frequency.
int bt_audio_codec_cfg_meta_get_ccid_list(const struct bt_audio_codec_cfg *codec_cfg, const uint8_t **ccid_list)
Extract CCID list.
int bt_audio_codec_cfg_set_frame_blocks_per_sdu(struct bt_audio_codec_cfg *codec_cfg, uint8_t frame_blocks)
Set the frame blocks per SDU of a codec configuration.
int bt_audio_codec_cfg_get_freq(const struct bt_audio_codec_cfg *codec_cfg)
Extract the frequency from a codec configuration.
int bt_audio_codec_cfg_get_frame_blocks_per_sdu(const struct bt_audio_codec_cfg *codec_cfg, bool fallback_to_default)
Extract number of audio frame blockss in each SDU from BT codec config.
int bt_audio_codec_cfg_meta_get_val(const struct bt_audio_codec_cfg *codec_cfg, uint8_t type, const uint8_t **data)
Lookup a specific metadata value based on type.
int bt_audio_codec_cfg_meta_get_parental_rating(const struct bt_audio_codec_cfg *codec_cfg)
Extract parental rating.
int bt_audio_codec_cfg_set_chan_allocation(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_location chan_allocation)
Set the channel allocation of a codec configuration.
int bt_audio_codec_cfg_set_val(struct bt_audio_codec_cfg *codec_cfg, uint8_t type, const uint8_t *data, size_t data_len)
Set or add a specific codec configuration value.
bt_audio_active_state
Audio Active State defined by the Generic Audio assigned numbers (bluetooth.com).
Definition: audio.h:106
bt_audio_dir
Audio Capability type.
Definition: audio.h:385
bt_audio_location
Location values for BT Audio.
Definition: audio.h:247
bt_audio_parental_rating
Parental rating defined by the Generic Audio assigned numbers (bluetooth.com).
Definition: audio.h:86
bt_audio_codec_qos_framing
Codec QoS Framing.
Definition: audio.h:413
bt_audio_metadata_type
Codec metadata type IDs.
Definition: audio.h:116
bt_audio_context
Audio Context Type for Generic Audio.
Definition: audio.h:48
int bt_audio_data_parse(const uint8_t ltv[], size_t size, bool(*func)(struct bt_data *data, void *user_data), void *user_data)
Helper for parsing length-type-value data.
@ BT_AUDIO_ACTIVE_STATE_ENABLED
Definition: audio.h:108
@ BT_AUDIO_ACTIVE_STATE_DISABLED
Definition: audio.h:107
@ BT_AUDIO_DIR_SINK
Definition: audio.h:386
@ BT_AUDIO_DIR_SOURCE
Definition: audio.h:387
@ BT_AUDIO_LOCATION_FRONT_CENTER
Definition: audio.h:251
@ BT_AUDIO_LOCATION_TOP_BACK_LEFT
Definition: audio.h:265
@ BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_2
Definition: audio.h:258
@ BT_AUDIO_LOCATION_TOP_SIDE_RIGHT
Definition: audio.h:268
@ BT_AUDIO_LOCATION_FRONT_RIGHT
Definition: audio.h:250
@ BT_AUDIO_LOCATION_BOTTOM_FRONT_RIGHT
Definition: audio.h:272
@ BT_AUDIO_LOCATION_BACK_RIGHT
Definition: audio.h:254
@ BT_AUDIO_LOCATION_TOP_CENTER
Definition: audio.h:264
@ BT_AUDIO_LOCATION_LEFT_SURROUND
Definition: audio.h:275
@ BT_AUDIO_LOCATION_TOP_FRONT_RIGHT
Definition: audio.h:262
@ BT_AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER
Definition: audio.h:256
@ BT_AUDIO_LOCATION_FRONT_RIGHT_WIDE
Definition: audio.h:274
@ BT_AUDIO_LOCATION_TOP_BACK_RIGHT
Definition: audio.h:266
@ BT_AUDIO_LOCATION_BACK_LEFT
Definition: audio.h:253
@ BT_AUDIO_LOCATION_RIGHT_SURROUND
Definition: audio.h:276
@ BT_AUDIO_LOCATION_SIDE_RIGHT
Definition: audio.h:260
@ BT_AUDIO_LOCATION_TOP_FRONT_LEFT
Definition: audio.h:261
@ BT_AUDIO_LOCATION_SIDE_LEFT
Definition: audio.h:259
@ BT_AUDIO_LOCATION_BOTTOM_FRONT_LEFT
Definition: audio.h:271
@ BT_AUDIO_LOCATION_TOP_FRONT_CENTER
Definition: audio.h:263
@ BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_1
Definition: audio.h:252
@ BT_AUDIO_LOCATION_FRONT_LEFT
Definition: audio.h:249
@ BT_AUDIO_LOCATION_FRONT_LEFT_WIDE
Definition: audio.h:273
@ BT_AUDIO_LOCATION_BOTTOM_FRONT_CENTER
Definition: audio.h:270
@ BT_AUDIO_LOCATION_PROHIBITED
Definition: audio.h:248
@ BT_AUDIO_LOCATION_BACK_CENTER
Definition: audio.h:257
@ BT_AUDIO_LOCATION_TOP_SIDE_LEFT
Definition: audio.h:267
@ BT_AUDIO_LOCATION_TOP_BACK_CENTER
Definition: audio.h:269
@ BT_AUDIO_LOCATION_FRONT_LEFT_OF_CENTER
Definition: audio.h:255
@ BT_AUDIO_PARENTAL_RATING_AGE_18_OR_ABOVE
Definition: audio.h:102
@ BT_AUDIO_PARENTAL_RATING_AGE_15_OR_ABOVE
Definition: audio.h:99
@ BT_AUDIO_PARENTAL_RATING_AGE_10_OR_ABOVE
Definition: audio.h:94
@ BT_AUDIO_PARENTAL_RATING_AGE_7_OR_ABOVE
Definition: audio.h:91
@ BT_AUDIO_PARENTAL_RATING_AGE_16_OR_ABOVE
Definition: audio.h:100
@ BT_AUDIO_PARENTAL_RATING_AGE_17_OR_ABOVE
Definition: audio.h:101
@ BT_AUDIO_PARENTAL_RATING_AGE_5_OR_ABOVE
Definition: audio.h:89
@ BT_AUDIO_PARENTAL_RATING_AGE_8_OR_ABOVE
Definition: audio.h:92
@ BT_AUDIO_PARENTAL_RATING_AGE_13_OR_ABOVE
Definition: audio.h:97
@ BT_AUDIO_PARENTAL_RATING_AGE_9_OR_ABOVE
Definition: audio.h:93
@ BT_AUDIO_PARENTAL_RATING_AGE_11_OR_ABOVE
Definition: audio.h:95
@ BT_AUDIO_PARENTAL_RATING_AGE_12_OR_ABOVE
Definition: audio.h:96
@ BT_AUDIO_PARENTAL_RATING_AGE_6_OR_ABOVE
Definition: audio.h:90
@ BT_AUDIO_PARENTAL_RATING_AGE_ANY
Definition: audio.h:88
@ BT_AUDIO_PARENTAL_RATING_NO_RATING
Definition: audio.h:87
@ BT_AUDIO_PARENTAL_RATING_AGE_14_OR_ABOVE
Definition: audio.h:98
@ BT_AUDIO_CODEC_QOS_FRAMING_UNFRAMED
Definition: audio.h:414
@ BT_AUDIO_CODEC_QOS_FRAMING_FRAMED
Definition: audio.h:415
@ BT_AUDIO_CODEC_QOS_CODED
Definition: audio.h:422
@ BT_AUDIO_CODEC_QOS_1M
Definition: audio.h:420
@ BT_AUDIO_CODEC_QOS_2M
Definition: audio.h:421
@ BT_AUDIO_METADATA_TYPE_PROGRAM_INFO
UTF-8 encoded title or summary of stream content.
Definition: audio.h:140
@ BT_AUDIO_METADATA_TYPE_EXTENDED
Extended metadata.
Definition: audio.h:170
@ BT_AUDIO_METADATA_TYPE_VENDOR
Vendor specific metadata.
Definition: audio.h:173
@ BT_AUDIO_METADATA_TYPE_CCID_LIST
Array of 8-bit CCID values.
Definition: audio.h:149
@ BT_AUDIO_METADATA_TYPE_BROADCAST_IMMEDIATE
Broadcast Audio Immediate Rendering flag
Definition: audio.h:167
@ BT_AUDIO_METADATA_TYPE_PROGRAM_INFO_URI
UTF-8 encoded URI for additional Program information.
Definition: audio.h:158
@ BT_AUDIO_METADATA_TYPE_PARENTAL_RATING
Parental rating.
Definition: audio.h:155
@ BT_AUDIO_METADATA_TYPE_STREAM_CONTEXT
Streaming audio context.
Definition: audio.h:137
@ BT_AUDIO_METADATA_TYPE_PREF_CONTEXT
Preferred audio context.
Definition: audio.h:126
@ BT_AUDIO_METADATA_TYPE_STREAM_LANG
Stream language.
Definition: audio.h:146
@ BT_AUDIO_METADATA_TYPE_AUDIO_STATE
Audio active state.
Definition: audio.h:164
@ BT_AUDIO_CONTEXT_TYPE_NOTIFICATIONS
Definition: audio.h:58
@ BT_AUDIO_CONTEXT_TYPE_EMERGENCY_ALARM
Definition: audio.h:61
@ BT_AUDIO_CONTEXT_TYPE_INSTRUCTIONAL
Definition: audio.h:54
@ BT_AUDIO_CONTEXT_TYPE_PROHIBITED
Definition: audio.h:49
@ BT_AUDIO_CONTEXT_TYPE_RINGTONE
Definition: audio.h:59
@ BT_AUDIO_CONTEXT_TYPE_LIVE
Definition: audio.h:56
@ BT_AUDIO_CONTEXT_TYPE_MEDIA
Definition: audio.h:52
@ BT_AUDIO_CONTEXT_TYPE_GAME
Definition: audio.h:53
@ BT_AUDIO_CONTEXT_TYPE_SOUND_EFFECTS
Definition: audio.h:57
@ BT_AUDIO_CONTEXT_TYPE_VOICE_ASSISTANTS
Definition: audio.h:55
@ BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL
Definition: audio.h:51
@ BT_AUDIO_CONTEXT_TYPE_ALERTS
Definition: audio.h:60
@ BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED
Definition: audio.h:50
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition: util_macro.h:44
Bluetooth ISO handling.
Bluetooth LC3 codec handling.
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
Codec capability structure.
Definition: audio.h:312
uint16_t vid
Codec Company Vendor ID.
Definition: audio.h:324
uint16_t cid
Codec Company ID.
Definition: audio.h:322
uint8_t path_id
Data path ID.
Definition: audio.h:318
uint8_t id
Codec ID.
Definition: audio.h:320
Codec specific configuration structure.
Definition: audio.h:340
uint16_t vid
Codec Company Vendor ID.
Definition: audio.h:352
uint16_t cid
Codec Company ID.
Definition: audio.h:350
uint8_t path_id
Data path ID.
Definition: audio.h:346
uint8_t id
Codec ID.
Definition: audio.h:348
Audio Stream Quality of Service Preference structure.
Definition: audio.h:510
uint16_t latency
Preferred Transport Latency.
Definition: audio.h:525
uint8_t phy
Preferred PHY.
Definition: audio.h:519
bool unframed_supported
Unframed PDUs supported.
Definition: audio.h:516
uint32_t pref_pd_max
Preferred maximum Presentation Delay.
Definition: audio.h:557
uint32_t pd_min
Minimum Presentation Delay in microseconds.
Definition: audio.h:535
uint32_t pd_max
Maximum Presentation Delay.
Definition: audio.h:545
uint32_t pref_pd_min
Preferred minimum Presentation Delay.
Definition: audio.h:551
uint8_t rtn
Preferred Retransmission Number.
Definition: audio.h:522
Codec QoS structure.
Definition: audio.h:452
uint32_t pd
QoS Presentation Delay in microseconds.
Definition: audio.h:481
enum bt_audio_codec_qos_framing framing
QoS Framing.
Definition: audio.h:457
uint8_t phy
QoS PHY.
Definition: audio.h:454
uint8_t rtn
QoS Retransmission Number.
Definition: audio.h:460
uint32_t interval
QoS Frame Interval.
Definition: audio.h:475
uint16_t sdu
QoS SDU.
Definition: audio.h:463
Bluetooth data.
Definition: bluetooth.h:433