Zephyr API Documentation  3.6.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
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
53
56
59
62
65};
66
71
74
77
80
83
86
89
92
95
98
101
104
107
117};
118
123
126
130
138
146};
147
151
154
157
160
163
166
169
172
179};
180
182#define BT_AUDIO_CODEC_CAP_CHAN_COUNT_MIN 1
184#define BT_AUDIO_CODEC_CAP_CHAN_COUNT_MAX 8
185
196#define BT_AUDIO_CODEC_CAP_CHAN_COUNT_SUPPORT(...) \
197 ((enum bt_audio_codec_cap_chan_count)((FOR_EACH(BIT, (|), __VA_ARGS__)) >> 1))
198
204};
205
215
218
221
224
227};
228
232
235
238
241
244
247
250
253
256
259
262
265
268};
269
273
276};
277
296};
297
301#define BT_AUDIO_CONTEXT_TYPE_ANY (BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED | \
302 BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL | \
303 BT_AUDIO_CONTEXT_TYPE_MEDIA | \
304 BT_AUDIO_CONTEXT_TYPE_GAME | \
305 BT_AUDIO_CONTEXT_TYPE_INSTRUCTIONAL | \
306 BT_AUDIO_CONTEXT_TYPE_VOICE_ASSISTANTS | \
307 BT_AUDIO_CONTEXT_TYPE_LIVE | \
308 BT_AUDIO_CONTEXT_TYPE_SOUND_EFFECTS | \
309 BT_AUDIO_CONTEXT_TYPE_NOTIFICATIONS | \
310 BT_AUDIO_CONTEXT_TYPE_RINGTONE | \
311 BT_AUDIO_CONTEXT_TYPE_ALERTS | \
312 BT_AUDIO_CONTEXT_TYPE_EMERGENCY_ALARM)
313
338
343};
344
361
372
375
381
384
390
393
399
402
405
408};
409
415#define BT_AUDIO_METADATA_TYPE_IS_KNOWN(_type) \
416 (IN_RANGE((_type), BT_AUDIO_METADATA_TYPE_PREF_CONTEXT, \
417 BT_AUDIO_METADATA_TYPE_BROADCAST_IMMEDIATE) || \
418 (_type) == BT_AUDIO_METADATA_TYPE_EXTENDED || (_type) == BT_AUDIO_METADATA_TYPE_VENDOR)
419
420/* Unicast Announcement Type, Generic Audio */
421#define BT_AUDIO_UNICAST_ANNOUNCEMENT_GENERAL 0x00
422#define BT_AUDIO_UNICAST_ANNOUNCEMENT_TARGETED 0x01
423
432#define BT_AUDIO_CODEC_DATA(_type, _bytes...) \
433 (sizeof((uint8_t)_type) + sizeof((uint8_t[]){_bytes})), (_type), _bytes
434
444#define BT_AUDIO_CODEC_CFG(_id, _cid, _vid, _data, _meta) \
445 ((struct bt_audio_codec_cfg){ \
446 /* Use HCI data path as default, can be overwritten by application */ \
447 .path_id = BT_ISO_DATA_PATH_HCI, \
448 .ctlr_transcode = false, \
449 .id = _id, \
450 .cid = _cid, \
451 .vid = _vid, \
452 .data_len = sizeof((uint8_t[])_data), \
453 .data = _data, \
454 .meta_len = sizeof((uint8_t[])_meta), \
455 .meta = _meta, \
456 })
457
467#define BT_AUDIO_CODEC_CAP(_id, _cid, _vid, _data, _meta) \
468 ((struct bt_audio_codec_cap){ \
469 /* Use HCI data path as default, can be overwritten by application */ \
470 .path_id = BT_ISO_DATA_PATH_HCI, \
471 .ctlr_transcode = false, \
472 .id = (_id), \
473 .cid = (_cid), \
474 .vid = (_vid), \
475 .data_len = sizeof((uint8_t[])_data), \
476 .data = _data, \
477 .meta_len = sizeof((uint8_t[])_meta), \
478 .meta = _meta, \
479 })
480
515};
516
520#define BT_AUDIO_LOCATION_ANY (BT_AUDIO_LOCATION_FRONT_LEFT | \
521 BT_AUDIO_LOCATION_FRONT_RIGHT | \
522 BT_AUDIO_LOCATION_FRONT_CENTER | \
523 BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_1 | \
524 BT_AUDIO_LOCATION_BACK_LEFT | \
525 BT_AUDIO_LOCATION_BACK_RIGHT | \
526 BT_AUDIO_LOCATION_FRONT_LEFT_OF_CENTER | \
527 BT_AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER | \
528 BT_AUDIO_LOCATION_BACK_CENTER | \
529 BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_2 | \
530 BT_AUDIO_LOCATION_SIDE_LEFT | \
531 BT_AUDIO_LOCATION_SIDE_RIGHT | \
532 BT_AUDIO_LOCATION_TOP_FRONT_LEFT | \
533 BT_AUDIO_LOCATION_TOP_FRONT_RIGHT | \
534 BT_AUDIO_LOCATION_TOP_FRONT_CENTER | \
535 BT_AUDIO_LOCATION_TOP_CENTER | \
536 BT_AUDIO_LOCATION_TOP_BACK_LEFT | \
537 BT_AUDIO_LOCATION_TOP_BACK_RIGHT | \
538 BT_AUDIO_LOCATION_TOP_SIDE_LEFT | \
539 BT_AUDIO_LOCATION_TOP_SIDE_RIGHT | \
540 BT_AUDIO_LOCATION_TOP_BACK_CENTER | \
541 BT_AUDIO_LOCATION_BOTTOM_FRONT_CENTER | \
542 BT_AUDIO_LOCATION_BOTTOM_FRONT_LEFT | \
543 BT_AUDIO_LOCATION_BOTTOM_FRONT_RIGHT | \
544 BT_AUDIO_LOCATION_FRONT_LEFT_WIDE | \
545 BT_AUDIO_LOCATION_FRONT_RIGHT_WIDE | \
546 BT_AUDIO_LOCATION_LEFT_SURROUND | \
547 BT_AUDIO_LOCATION_RIGHT_SURROUND)
548
569#if CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE > 0
571 size_t data_len;
573 uint8_t data[CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE];
574#endif /* CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE > 0 */
575#if defined(CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE)
577 size_t meta_len;
579 uint8_t meta[CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE];
580#endif /* CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE */
581};
582
603#if CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE > 0
605 size_t data_len;
607 uint8_t data[CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE];
608#endif /* CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE > 0 */
609#if CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE > 0
611 size_t meta_len;
613 uint8_t meta[CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE];
614#endif /* CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE > 0 */
615};
616
631int bt_audio_data_parse(const uint8_t ltv[], size_t size,
632 bool (*func)(struct bt_data *data, void *user_data), void *user_data);
633
638};
639
651#define BT_AUDIO_CODEC_QOS(_interval, _framing, _phy, _sdu, _rtn, _latency, _pd) \
652 ((struct bt_audio_codec_qos){ \
653 .interval = _interval, \
654 .framing = _framing, \
655 .phy = _phy, \
656 .sdu = _sdu, \
657 .rtn = _rtn, \
658 IF_ENABLED(UTIL_OR(IS_ENABLED(CONFIG_BT_BAP_BROADCAST_SOURCE), \
659 IS_ENABLED(CONFIG_BT_BAP_UNICAST)), \
660 (.latency = _latency,)) \
661 .pd = _pd, \
662 })
663
668};
669
671enum {
675};
676
686#define BT_AUDIO_CODEC_QOS_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd) \
687 BT_AUDIO_CODEC_QOS(_interval, BT_AUDIO_CODEC_QOS_FRAMING_UNFRAMED, BT_AUDIO_CODEC_QOS_2M, \
688 _sdu, _rtn, _latency, _pd)
689
699#define BT_AUDIO_CODEC_QOS_FRAMED(_interval, _sdu, _rtn, _latency, _pd) \
700 BT_AUDIO_CODEC_QOS(_interval, BT_AUDIO_CODEC_QOS_FRAMING_FRAMED, BT_AUDIO_CODEC_QOS_2M, \
701 _sdu, _rtn, _latency, _pd)
702
707
710
713
716
717#if defined(CONFIG_BT_BAP_BROADCAST_SOURCE) || defined(CONFIG_BT_BAP_UNICAST)
723 uint16_t latency;
724#endif /* CONFIG_BT_BAP_BROADCAST_SOURCE || CONFIG_BT_BAP_UNICAST */
725
728
734
735#if defined(CONFIG_BT_ISO_TEST_PARAMS)
743 uint16_t max_pdu;
744
749 uint8_t burst_number;
750
757 uint8_t num_subevents;
758#endif /* CONFIG_BT_ISO_TEST_PARAMS */
759};
760
773#define BT_AUDIO_CODEC_QOS_PREF(_unframed_supported, _phy, _rtn, _latency, _pd_min, _pd_max, \
774 _pref_pd_min, _pref_pd_max) \
775 { \
776 .unframed_supported = _unframed_supported, \
777 .phy = _phy, \
778 .rtn = _rtn, \
779 .latency = _latency, \
780 .pd_min = _pd_min, \
781 .pd_max = _pd_max, \
782 .pref_pd_min = _pref_pd_min, \
783 .pref_pd_max = _pref_pd_max, \
784 }
785
794
797
800
803
813
823
829
835};
836
855
865
876
888 enum bt_audio_codec_cfg_freq freq);
889
899
909
920
932 enum bt_audio_codec_cfg_frame_dur frame_dur);
933
951 enum bt_audio_location *chan_allocation);
952
964 enum bt_audio_location chan_allocation);
965
985
997 uint16_t octets_per_frame);
998
1021 bool fallback_to_default);
1022
1034 uint8_t frame_blocks);
1035
1047 enum bt_audio_codec_cfg_type type, const uint8_t **data);
1048
1062 enum bt_audio_codec_cfg_type type, const uint8_t *data,
1063 size_t data_len);
1064
1077 enum bt_audio_codec_cfg_type type);
1078
1091 const uint8_t **data);
1092
1106 enum bt_audio_metadata_type type, const uint8_t *data,
1107 size_t data_len);
1108
1121 enum bt_audio_metadata_type type);
1134
1146 enum bt_audio_context ctx);
1147
1160
1172 enum bt_audio_context ctx);
1173
1186 const uint8_t **program_info);
1187
1200 const uint8_t *program_info, size_t program_info_len);
1201
1214
1226 uint32_t stream_lang);
1227
1240 const uint8_t **ccid_list);
1241
1254 const uint8_t *ccid_list, size_t ccid_list_len);
1255
1268
1280 enum bt_audio_parental_rating parental_rating);
1281
1294 const uint8_t **program_info_uri);
1295
1308 const uint8_t *program_info_uri,
1309 size_t program_info_uri_len);
1310
1323
1336
1348 const struct bt_audio_codec_cfg *codec_cfg);
1349
1360 struct bt_audio_codec_cfg *codec_cfg);
1361
1374 const uint8_t **extended_meta);
1375
1388 const uint8_t *extended_meta, size_t extended_meta_len);
1389
1402 const uint8_t **vendor_meta);
1403
1416 const uint8_t *vendor_meta, size_t vendor_meta_len); /* End of bt_audio_codec_cfg */
1418
1441 enum bt_audio_codec_cap_type type, const uint8_t **data);
1442
1456 enum bt_audio_codec_cap_type type, const uint8_t *data,
1457 size_t data_len);
1458
1471 enum bt_audio_codec_cap_type type);
1472
1484
1496 enum bt_audio_codec_cap_freq freq);
1497
1509
1521 enum bt_audio_codec_cap_frame_dur frame_dur);
1522
1534
1546 struct bt_audio_codec_cap *codec_cap, enum bt_audio_codec_cap_chan_count chan_count);
1547
1560 const struct bt_audio_codec_cap *codec_cap,
1561 struct bt_audio_codec_octets_per_codec_frame *codec_frame);
1562
1574 struct bt_audio_codec_cap *codec_cap,
1575 const struct bt_audio_codec_octets_per_codec_frame *codec_frame);
1576
1588
1600 uint8_t codec_frames_per_sdu);
1601
1613 const uint8_t **data);
1614
1628 enum bt_audio_metadata_type type, const uint8_t *data,
1629 size_t data_len);
1630
1643 enum bt_audio_metadata_type type);
1644
1657
1669 enum bt_audio_context ctx);
1670
1683
1695 enum bt_audio_context ctx);
1696
1709 const uint8_t **program_info);
1710
1723 const uint8_t *program_info, size_t program_info_len);
1724
1737
1749 uint32_t stream_lang);
1750
1763 const uint8_t **ccid_list);
1764
1777 const uint8_t *ccid_list, size_t ccid_list_len);
1778
1791
1803 enum bt_audio_parental_rating parental_rating);
1804
1817 const uint8_t **program_info_uri);
1818
1831 const uint8_t *program_info_uri,
1832 size_t program_info_uri_len);
1833
1846
1859
1871 const struct bt_audio_codec_cap *codec_cap);
1872
1883 struct bt_audio_codec_cap *codec_cap);
1884
1897 const uint8_t **extended_meta);
1898
1911 const uint8_t *extended_meta, size_t extended_meta_len);
1912
1925 const uint8_t **vendor_meta);
1926
1939 const uint8_t *vendor_meta, size_t vendor_meta_len);
1940 /* End of bt_audio_codec_cap */
1942
1943#ifdef __cplusplus
1944}
1945#endif
1946 /* end of bt_audio */
1948
1949#endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_H_ */
Bluetooth data buffer API.
Bluetooth connection handling.
Generic Attribute Profile handling.
int bt_audio_codec_cap_meta_set_ccid_list(struct bt_audio_codec_cap *codec_cap, const uint8_t *ccid_list, size_t ccid_list_len)
Set the CCID list of a codec capability metadata.
int bt_audio_codec_cap_set_val(struct bt_audio_codec_cap *codec_cap, enum bt_audio_codec_cap_type type, const uint8_t *data, size_t data_len)
Set or add a specific codec capability value.
int bt_audio_codec_cap_get_frame_dur(const struct bt_audio_codec_cap *codec_cap)
Extract the frequency from a codec capability.
int bt_audio_codec_cap_meta_set_vendor(struct bt_audio_codec_cap *codec_cap, const uint8_t *vendor_meta, size_t vendor_meta_len)
Set the vendor specific metadata of a codec capability metadata.
int bt_audio_codec_cap_meta_set_val(struct bt_audio_codec_cap *codec_cap, enum bt_audio_metadata_type type, const uint8_t *data, size_t data_len)
Set or add a specific codec capability metadata value.
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_set_max_codec_frames_per_sdu(struct bt_audio_codec_cap *codec_cap, uint8_t codec_frames_per_sdu)
Set the maximum codec frames per SDU of a codec capability.
int bt_audio_codec_cap_meta_unset_val(struct bt_audio_codec_cap *codec_cap, enum bt_audio_metadata_type type)
Unset a specific codec capability metadata value.
int bt_audio_codec_cap_meta_set_program_info(struct bt_audio_codec_cap *codec_cap, const uint8_t *program_info, size_t program_info_len)
Set the program info of a codec capability metadata.
int bt_audio_codec_cap_get_max_codec_frames_per_sdu(const struct bt_audio_codec_cap *codec_cap)
Extract the maximum codec frames per SDU from a codec capability.
int bt_audio_codec_cap_set_frame_dur(struct bt_audio_codec_cap *codec_cap, enum bt_audio_codec_cap_frame_dur frame_dur)
Set the frame duration of a codec capability.
int bt_audio_codec_cap_meta_set_stream_lang(struct bt_audio_codec_cap *codec_cap, uint32_t stream_lang)
Set the stream language of a codec capability metadata.
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_set_stream_context(struct bt_audio_codec_cap *codec_cap, enum bt_audio_context ctx)
Set the stream context of a codec capability metadata.
int bt_audio_codec_cap_meta_set_parental_rating(struct bt_audio_codec_cap *codec_cap, enum bt_audio_parental_rating parental_rating)
Set the parental rating of a codec capability metadata.
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_set_pref_context(struct bt_audio_codec_cap *codec_cap, enum bt_audio_context ctx)
Set the preferred context of a codec capability metadata.
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_meta_set_bcast_audio_immediate_rend_flag(struct bt_audio_codec_cap *codec_cap)
Set the broadcast audio immediate rendering flag of a codec capability metadata.
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 supported octets per codec frame 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_unset_val(struct bt_audio_codec_cap *codec_cap, enum bt_audio_codec_cap_type type)
Unset a specific codec capability value.
int bt_audio_codec_cap_meta_set_extended(struct bt_audio_codec_cap *codec_cap, const uint8_t *extended_meta, size_t extended_meta_len)
Set the extended metadata of a codec capability metadata.
int bt_audio_codec_cap_set_freq(struct bt_audio_codec_cap *codec_cap, enum bt_audio_codec_cap_freq freq)
Set the supported frequencies of a codec capability.
int bt_audio_codec_cap_set_octets_per_frame(struct bt_audio_codec_cap *codec_cap, const struct bt_audio_codec_octets_per_codec_frame *codec_frame)
Set the octets per codec frame of a codec capability.
int bt_audio_codec_cap_get_val(const struct bt_audio_codec_cap *codec_cap, enum bt_audio_codec_cap_type type, const uint8_t **data)
Lookup a specific value based on type.
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_set_audio_active_state(struct bt_audio_codec_cap *codec_cap, enum bt_audio_active_state state)
Set the audio active state of a codec capability metadata.
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.
int bt_audio_codec_cap_set_supported_audio_chan_counts(struct bt_audio_codec_cap *codec_cap, enum bt_audio_codec_cap_chan_count chan_count)
Set the channel count of a codec capability.
int bt_audio_codec_cap_meta_set_program_info_uri(struct bt_audio_codec_cap *codec_cap, const uint8_t *program_info_uri, size_t program_info_uri_len)
Set the program info URI of a codec capability metadata.
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_frame_dur_us_to_frame_dur(uint32_t frame_dur_us)
Convert frame duration in microseconds to assigned numbers frame duration.
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_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_frame_dur_to_frame_dur_us(enum bt_audio_codec_cfg_frame_dur frame_dur)
Convert assigned numbers frame duration to duration in microseconds.
int bt_audio_codec_cfg_meta_set_program_info(struct bt_audio_codec_cfg *codec_cfg, const uint8_t *program_info, size_t program_info_len)
Set the program info of a codec configuration metadata.
int bt_audio_codec_cfg_get_frame_dur(const struct bt_audio_codec_cfg *codec_cfg)
Extract frame duration from BT codec config.
int bt_audio_codec_cfg_freq_to_freq_hz(enum bt_audio_codec_cfg_freq freq)
Convert assigned numbers frequency to frequency value.
int bt_audio_codec_cfg_meta_set_val(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_metadata_type type, const uint8_t *data, size_t data_len)
Set or add a specific codec configuration metadata 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_meta_set_ccid_list(struct bt_audio_codec_cfg *codec_cfg, const uint8_t *ccid_list, size_t ccid_list_len)
Set the CCID list of a codec configuration metadata.
int bt_audio_codec_cfg_meta_set_stream_context(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_context ctx)
Set the stream context of a codec configuration metadata.
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_set_vendor(struct bt_audio_codec_cfg *codec_cfg, const uint8_t *vendor_meta, size_t vendor_meta_len)
Set the vendor specific metadata of a codec configuration metadata.
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.
int bt_audio_codec_cfg_get_val(const struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_codec_cfg_type type, const uint8_t **data)
Lookup a specific codec configuration value.
int bt_audio_codec_cfg_set_frame_dur(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_codec_cfg_frame_dur frame_dur)
Set the frame duration of a codec configuration.
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_meta_set_program_info_uri(struct bt_audio_codec_cfg *codec_cfg, const uint8_t *program_info_uri, size_t program_info_uri_len)
Set the program info URI of a codec configuration metadata.
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_val(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_codec_cfg_type type, const uint8_t *data, size_t data_len)
Set or add a specific codec configuration value.
int bt_audio_codec_cfg_meta_set_pref_context(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_context ctx)
Set the preferred context of a codec configuration metadata.
int bt_audio_codec_cfg_meta_unset_val(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_metadata_type type)
Unset a specific codec configuration metadata value.
int bt_audio_codec_cfg_meta_set_parental_rating(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_parental_rating parental_rating)
Set the parental rating of a codec configuration metadata.
int bt_audio_codec_cfg_set_freq(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_codec_cfg_freq freq)
Set the frequency of a codec configuration.
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_unset_val(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_codec_cfg_type type)
Unset a specific codec configuration value.
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_set_extended(struct bt_audio_codec_cfg *codec_cfg, const uint8_t *extended_meta, size_t extended_meta_len)
Set the extended metadata of a codec configuration metadata.
int bt_audio_codec_cfg_meta_set_stream_lang(struct bt_audio_codec_cfg *codec_cfg, uint32_t stream_lang)
Set the stream language of a codec configuration metadata.
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_set_bcast_audio_immediate_rend_flag(struct bt_audio_codec_cfg *codec_cfg)
Set the broadcast audio immediate rendering flag of a codec configuration metadata.
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_meta_set_audio_active_state(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_active_state state)
Set the audio active state of a codec configuration metadata.
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.
bt_audio_active_state
Audio Active State defined by the Generic Audio assigned numbers (bluetooth.com).
Definition: audio.h:340
bt_audio_dir
Audio Capability type.
Definition: audio.h:635
bt_audio_location
Location values for BT Audio.
Definition: audio.h:485
bt_audio_parental_rating
Parental rating defined by the Generic Audio assigned numbers (bluetooth.com).
Definition: audio.h:320
bt_audio_codec_cfg_frame_dur
Definition: audio.h:270
bt_audio_codec_qos_framing
Codec QoS Framing.
Definition: audio.h:665
bt_audio_codec_cfg_freq
Definition: audio.h:229
bt_audio_codec_cfg_type
Codec configuration types.
Definition: audio.h:212
bt_audio_codec_cap_freq
Supported frequencies bitfield.
Definition: audio.h:68
bt_audio_metadata_type
Codec metadata type IDs.
Definition: audio.h:350
bt_audio_codec_cap_chan_count
Definition: audio.h:148
bt_audio_codec_cap_frame_dur
Supported frame durations bitfield.
Definition: audio.h:120
bt_audio_codec_cap_type
Codec capability types.
Definition: audio.h:50
bt_audio_context
Audio Context Type for Generic Audio.
Definition: audio.h:282
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:342
@ BT_AUDIO_ACTIVE_STATE_DISABLED
Definition: audio.h:341
@ BT_AUDIO_CODEC_QOS_CODED
Definition: audio.h:674
@ BT_AUDIO_CODEC_QOS_1M
Definition: audio.h:672
@ BT_AUDIO_CODEC_QOS_2M
Definition: audio.h:673
@ BT_AUDIO_DIR_SINK
Definition: audio.h:636
@ BT_AUDIO_DIR_SOURCE
Definition: audio.h:637
@ BT_AUDIO_LOCATION_FRONT_CENTER
Definition: audio.h:489
@ BT_AUDIO_LOCATION_TOP_BACK_LEFT
Definition: audio.h:503
@ BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_2
Definition: audio.h:496
@ BT_AUDIO_LOCATION_TOP_SIDE_RIGHT
Definition: audio.h:506
@ BT_AUDIO_LOCATION_FRONT_RIGHT
Definition: audio.h:488
@ BT_AUDIO_LOCATION_BOTTOM_FRONT_RIGHT
Definition: audio.h:510
@ BT_AUDIO_LOCATION_BACK_RIGHT
Definition: audio.h:492
@ BT_AUDIO_LOCATION_TOP_CENTER
Definition: audio.h:502
@ BT_AUDIO_LOCATION_LEFT_SURROUND
Definition: audio.h:513
@ BT_AUDIO_LOCATION_TOP_FRONT_RIGHT
Definition: audio.h:500
@ BT_AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER
Definition: audio.h:494
@ BT_AUDIO_LOCATION_FRONT_RIGHT_WIDE
Definition: audio.h:512
@ BT_AUDIO_LOCATION_TOP_BACK_RIGHT
Definition: audio.h:504
@ BT_AUDIO_LOCATION_MONO_AUDIO
Definition: audio.h:486
@ BT_AUDIO_LOCATION_BACK_LEFT
Definition: audio.h:491
@ BT_AUDIO_LOCATION_RIGHT_SURROUND
Definition: audio.h:514
@ BT_AUDIO_LOCATION_SIDE_RIGHT
Definition: audio.h:498
@ BT_AUDIO_LOCATION_TOP_FRONT_LEFT
Definition: audio.h:499
@ BT_AUDIO_LOCATION_SIDE_LEFT
Definition: audio.h:497
@ BT_AUDIO_LOCATION_BOTTOM_FRONT_LEFT
Definition: audio.h:509
@ BT_AUDIO_LOCATION_TOP_FRONT_CENTER
Definition: audio.h:501
@ BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_1
Definition: audio.h:490
@ BT_AUDIO_LOCATION_FRONT_LEFT
Definition: audio.h:487
@ BT_AUDIO_LOCATION_FRONT_LEFT_WIDE
Definition: audio.h:511
@ BT_AUDIO_LOCATION_BOTTOM_FRONT_CENTER
Definition: audio.h:508
@ BT_AUDIO_LOCATION_BACK_CENTER
Definition: audio.h:495
@ BT_AUDIO_LOCATION_TOP_SIDE_LEFT
Definition: audio.h:505
@ BT_AUDIO_LOCATION_TOP_BACK_CENTER
Definition: audio.h:507
@ BT_AUDIO_LOCATION_FRONT_LEFT_OF_CENTER
Definition: audio.h:493
@ BT_AUDIO_PARENTAL_RATING_AGE_18_OR_ABOVE
Definition: audio.h:336
@ BT_AUDIO_PARENTAL_RATING_AGE_15_OR_ABOVE
Definition: audio.h:333
@ BT_AUDIO_PARENTAL_RATING_AGE_10_OR_ABOVE
Definition: audio.h:328
@ BT_AUDIO_PARENTAL_RATING_AGE_7_OR_ABOVE
Definition: audio.h:325
@ BT_AUDIO_PARENTAL_RATING_AGE_16_OR_ABOVE
Definition: audio.h:334
@ BT_AUDIO_PARENTAL_RATING_AGE_17_OR_ABOVE
Definition: audio.h:335
@ BT_AUDIO_PARENTAL_RATING_AGE_5_OR_ABOVE
Definition: audio.h:323
@ BT_AUDIO_PARENTAL_RATING_AGE_8_OR_ABOVE
Definition: audio.h:326
@ BT_AUDIO_PARENTAL_RATING_AGE_13_OR_ABOVE
Definition: audio.h:331
@ BT_AUDIO_PARENTAL_RATING_AGE_9_OR_ABOVE
Definition: audio.h:327
@ BT_AUDIO_PARENTAL_RATING_AGE_11_OR_ABOVE
Definition: audio.h:329
@ BT_AUDIO_PARENTAL_RATING_AGE_12_OR_ABOVE
Definition: audio.h:330
@ BT_AUDIO_PARENTAL_RATING_AGE_6_OR_ABOVE
Definition: audio.h:324
@ BT_AUDIO_PARENTAL_RATING_AGE_ANY
Definition: audio.h:322
@ BT_AUDIO_PARENTAL_RATING_NO_RATING
Definition: audio.h:321
@ BT_AUDIO_PARENTAL_RATING_AGE_14_OR_ABOVE
Definition: audio.h:332
@ BT_AUDIO_CODEC_CFG_DURATION_10
10 msec Frame Duration configuration
Definition: audio.h:275
@ BT_AUDIO_CODEC_CFG_DURATION_7_5
7.5 msec Frame Duration configuration
Definition: audio.h:272
@ BT_AUDIO_CODEC_QOS_FRAMING_UNFRAMED
Definition: audio.h:666
@ BT_AUDIO_CODEC_QOS_FRAMING_FRAMED
Definition: audio.h:667
@ BT_AUDIO_CODEC_CFG_FREQ_24KHZ
24 Khz codec sampling frequency
Definition: audio.h:243
@ BT_AUDIO_CODEC_CFG_FREQ_48KHZ
48 Khz codec sampling frequency
Definition: audio.h:252
@ BT_AUDIO_CODEC_CFG_FREQ_32KHZ
32 Khz codec sampling frequency
Definition: audio.h:246
@ BT_AUDIO_CODEC_CFG_FREQ_384KHZ
384 Khz codec sampling frequency
Definition: audio.h:267
@ BT_AUDIO_CODEC_CFG_FREQ_22KHZ
22.05 Khz codec sampling frequency
Definition: audio.h:240
@ BT_AUDIO_CODEC_CFG_FREQ_8KHZ
8 Khz codec sampling frequency
Definition: audio.h:231
@ BT_AUDIO_CODEC_CFG_FREQ_96KHZ
96 Khz codec sampling frequency
Definition: audio.h:258
@ BT_AUDIO_CODEC_CFG_FREQ_176KHZ
176.4 Khz codec sampling frequency
Definition: audio.h:261
@ BT_AUDIO_CODEC_CFG_FREQ_44KHZ
44.1 Khz codec sampling frequency
Definition: audio.h:249
@ BT_AUDIO_CODEC_CFG_FREQ_192KHZ
192 Khz codec sampling frequency
Definition: audio.h:264
@ BT_AUDIO_CODEC_CFG_FREQ_11KHZ
11.025 Khz codec sampling frequency
Definition: audio.h:234
@ BT_AUDIO_CODEC_CFG_FREQ_16KHZ
16 Khz codec sampling frequency
Definition: audio.h:237
@ BT_AUDIO_CODEC_CFG_FREQ_88KHZ
88.2 Khz codec sampling frequency
Definition: audio.h:255
@ BT_AUDIO_CODEC_CFG_FREQ
Sampling frequency.
Definition: audio.h:214
@ BT_AUDIO_CODEC_CFG_FRAME_LEN
Octets per codec frame.
Definition: audio.h:223
@ BT_AUDIO_CODEC_CFG_DURATION
Frame duration.
Definition: audio.h:217
@ BT_AUDIO_CODEC_CFG_FRAME_BLKS_PER_SDU
Codec frame blocks per SDU.
Definition: audio.h:226
@ BT_AUDIO_CODEC_CFG_CHAN_ALLOC
Audio channel allocation.
Definition: audio.h:220
@ BT_AUDIO_CODEC_CAP_FREQ_176KHZ
176.4 Khz sampling frequency
Definition: audio.h:100
@ BT_AUDIO_CODEC_CAP_FREQ_192KHZ
192 Khz sampling frequency
Definition: audio.h:103
@ BT_AUDIO_CODEC_CAP_FREQ_88KHZ
88.2 Khz sampling frequency
Definition: audio.h:94
@ BT_AUDIO_CODEC_CAP_FREQ_8KHZ
8 Khz sampling frequency
Definition: audio.h:70
@ BT_AUDIO_CODEC_CAP_FREQ_11KHZ
11.025 Khz sampling frequency
Definition: audio.h:73
@ BT_AUDIO_CODEC_CAP_FREQ_32KHZ
32 Khz sampling frequency
Definition: audio.h:85
@ BT_AUDIO_CODEC_CAP_FREQ_48KHZ
48 Khz sampling frequency
Definition: audio.h:91
@ BT_AUDIO_CODEC_CAP_FREQ_24KHZ
24 Khz sampling frequency
Definition: audio.h:82
@ BT_AUDIO_CODEC_CAP_FREQ_16KHZ
16 Khz sampling frequency
Definition: audio.h:76
@ BT_AUDIO_CODEC_CAP_FREQ_44KHZ
44.1 Khz sampling frequency
Definition: audio.h:88
@ BT_AUDIO_CODEC_CAP_FREQ_22KHZ
22.05 Khz sampling frequency
Definition: audio.h:79
@ BT_AUDIO_CODEC_CAP_FREQ_ANY
Any frequency capability.
Definition: audio.h:109
@ BT_AUDIO_CODEC_CAP_FREQ_384KHZ
384 Khz sampling frequency
Definition: audio.h:106
@ BT_AUDIO_CODEC_CAP_FREQ_96KHZ
96 Khz sampling frequency
Definition: audio.h:97
@ BT_AUDIO_METADATA_TYPE_PROGRAM_INFO
UTF-8 encoded title or summary of stream content.
Definition: audio.h:374
@ BT_AUDIO_METADATA_TYPE_EXTENDED
Extended metadata.
Definition: audio.h:404
@ BT_AUDIO_METADATA_TYPE_VENDOR
Vendor specific metadata.
Definition: audio.h:407
@ BT_AUDIO_METADATA_TYPE_CCID_LIST
Array of 8-bit CCID values.
Definition: audio.h:383
@ BT_AUDIO_METADATA_TYPE_BROADCAST_IMMEDIATE
Broadcast Audio Immediate Rendering flag
Definition: audio.h:401
@ BT_AUDIO_METADATA_TYPE_PROGRAM_INFO_URI
UTF-8 encoded URI for additional Program information.
Definition: audio.h:392
@ BT_AUDIO_METADATA_TYPE_PARENTAL_RATING
Parental rating.
Definition: audio.h:389
@ BT_AUDIO_METADATA_TYPE_STREAM_CONTEXT
Streaming audio context.
Definition: audio.h:371
@ BT_AUDIO_METADATA_TYPE_PREF_CONTEXT
Preferred audio context.
Definition: audio.h:360
@ BT_AUDIO_METADATA_TYPE_STREAM_LANG
Stream language.
Definition: audio.h:380
@ BT_AUDIO_METADATA_TYPE_AUDIO_STATE
Audio active state.
Definition: audio.h:398
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_4
Supporting 4 channel.
Definition: audio.h:159
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_2
Supporting 2 channel.
Definition: audio.h:153
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_1
Supporting 1 channel.
Definition: audio.h:150
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_3
Supporting 3 channel.
Definition: audio.h:156
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_8
Supporting 8 channel.
Definition: audio.h:171
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_7
Supporting 7 channel.
Definition: audio.h:168
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_ANY
Supporting all channels.
Definition: audio.h:174
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_5
Supporting 5 channel.
Definition: audio.h:162
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_6
Supporting 6 channel.
Definition: audio.h:165
@ BT_AUDIO_CODEC_CAP_DURATION_7_5
7.5 msec frame duration capability
Definition: audio.h:122
@ BT_AUDIO_CODEC_CAP_DURATION_PREFER_7_5
7.5 msec preferred frame duration capability.
Definition: audio.h:137
@ BT_AUDIO_CODEC_CAP_DURATION_ANY
Any frame duration capability.
Definition: audio.h:128
@ BT_AUDIO_CODEC_CAP_DURATION_PREFER_10
10 msec preferred frame duration capability
Definition: audio.h:145
@ BT_AUDIO_CODEC_CAP_DURATION_10
10 msec frame duration capability
Definition: audio.h:125
@ BT_AUDIO_CODEC_CAP_TYPE_CHAN_COUNT
Supported audio channel counts.
Definition: audio.h:58
@ BT_AUDIO_CODEC_CAP_TYPE_DURATION
Supported frame durations.
Definition: audio.h:55
@ BT_AUDIO_CODEC_CAP_TYPE_FRAME_COUNT
Supported maximum codec frames per SDU
Definition: audio.h:64
@ BT_AUDIO_CODEC_CAP_TYPE_FRAME_LEN
Supported octets per codec frame.
Definition: audio.h:61
@ BT_AUDIO_CODEC_CAP_TYPE_FREQ
Supported sampling frequencies.
Definition: audio.h:52
@ BT_AUDIO_CONTEXT_TYPE_NOTIFICATIONS
Definition: audio.h:292
@ BT_AUDIO_CONTEXT_TYPE_EMERGENCY_ALARM
Definition: audio.h:295
@ BT_AUDIO_CONTEXT_TYPE_INSTRUCTIONAL
Definition: audio.h:288
@ BT_AUDIO_CONTEXT_TYPE_PROHIBITED
Definition: audio.h:283
@ BT_AUDIO_CONTEXT_TYPE_RINGTONE
Definition: audio.h:293
@ BT_AUDIO_CONTEXT_TYPE_LIVE
Definition: audio.h:290
@ BT_AUDIO_CONTEXT_TYPE_MEDIA
Definition: audio.h:286
@ BT_AUDIO_CONTEXT_TYPE_GAME
Definition: audio.h:287
@ BT_AUDIO_CONTEXT_TYPE_SOUND_EFFECTS
Definition: audio.h:291
@ BT_AUDIO_CONTEXT_TYPE_VOICE_ASSISTANTS
Definition: audio.h:289
@ BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL
Definition: audio.h:285
@ BT_AUDIO_CONTEXT_TYPE_ALERTS
Definition: audio.h:294
@ BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED
Definition: audio.h:284
#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.
state
Definition: parser_state.h:29
__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:550
uint16_t vid
Codec Company Vendor ID.
Definition: audio.h:568
uint16_t cid
Codec Company ID.
Definition: audio.h:566
uint8_t path_id
Data path ID.
Definition: audio.h:556
bool ctlr_transcode
Whether or not the local controller should transcode.
Definition: audio.h:562
uint8_t id
Codec ID.
Definition: audio.h:564
Codec specific configuration structure.
Definition: audio.h:584
uint16_t vid
Codec Company Vendor ID.
Definition: audio.h:602
uint16_t cid
Codec Company ID.
Definition: audio.h:600
uint8_t path_id
Data path ID.
Definition: audio.h:590
bool ctlr_transcode
Whether or not the local controller should transcode.
Definition: audio.h:596
uint8_t id
Codec ID.
Definition: audio.h:598
uint16_t min
Minimum number of octets supported per codec frame.
Definition: audio.h:201
uint16_t max
Maximum number of octets supported per codec frame.
Definition: audio.h:203
Audio Stream Quality of Service Preference structure.
Definition: audio.h:787
uint16_t latency
Preferred Transport Latency.
Definition: audio.h:802
uint8_t phy
Preferred PHY.
Definition: audio.h:796
bool unframed_supported
Unframed PDUs supported.
Definition: audio.h:793
uint32_t pref_pd_max
Preferred maximum Presentation Delay.
Definition: audio.h:834
uint32_t pd_min
Minimum Presentation Delay in microseconds.
Definition: audio.h:812
uint32_t pd_max
Maximum Presentation Delay.
Definition: audio.h:822
uint32_t pref_pd_min
Preferred minimum Presentation Delay.
Definition: audio.h:828
uint8_t rtn
Preferred Retransmission Number.
Definition: audio.h:799
Codec QoS structure.
Definition: audio.h:704
uint32_t pd
QoS Presentation Delay in microseconds.
Definition: audio.h:733
enum bt_audio_codec_qos_framing framing
QoS Framing.
Definition: audio.h:709
uint8_t phy
QoS PHY.
Definition: audio.h:706
uint8_t rtn
QoS Retransmission Number.
Definition: audio.h:712
uint32_t interval
QoS Frame Interval.
Definition: audio.h:727
uint16_t sdu
QoS SDU.
Definition: audio.h:715
Bluetooth data.
Definition: bluetooth.h:454