Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
audio.h
Go to the documentation of this file.
1
5
6/*
7 * Copyright (c) 2020 Intel Corporation
8 * Copyright (c) 2020-2024 Nordic Semiconductor ASA
9 *
10 * SPDX-License-Identifier: Apache-2.0
11 */
12#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_AUDIO_H_
13#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_AUDIO_H_
14
23
24#include <stdbool.h>
25#include <stddef.h>
26#include <stdint.h>
27
28#include <zephyr/autoconf.h>
38#include <zephyr/sys/atomic.h>
39#include <zephyr/sys/util.h>
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
47#define BT_AUDIO_BROADCAST_ID_SIZE 3U
49#define BT_AUDIO_BROADCAST_ID_MAX 0xFFFFFFU
51#define BT_AUDIO_PD_PREF_NONE 0x000000U
53#define BT_AUDIO_PD_MAX 0xFFFFFFU
55#define BT_AUDIO_RTN_PREF_NONE 0xFFU
56
58#define BT_AUDIO_LANG_SIZE 3U
59
70#define BT_AUDIO_CODEC_CAP_CHAN_COUNT_SUPPORT(...) \
71 ((enum bt_audio_codec_cap_chan_count)((FOR_EACH(BIT, (|), __VA_ARGS__)) >> 1))
72
80
86#define BT_AUDIO_METADATA_TYPE_IS_KNOWN(_type) \
87 (IN_RANGE((_type), BT_AUDIO_METADATA_TYPE_PREF_CONTEXT, \
88 BT_AUDIO_METADATA_TYPE_BROADCAST_IMMEDIATE) || \
89 (_type) == BT_AUDIO_METADATA_TYPE_EXTENDED || (_type) == BT_AUDIO_METADATA_TYPE_VENDOR)
90
96#define BT_AUDIO_UNICAST_ANNOUNCEMENT_GENERAL 0x00U
98#define BT_AUDIO_UNICAST_ANNOUNCEMENT_TARGETED 0x01U
100
109#define BT_AUDIO_CODEC_DATA(_type, _bytes...) \
110 (sizeof((uint8_t)_type) + sizeof((uint8_t[]){_bytes})), (_type), _bytes
111
121#define BT_AUDIO_CODEC_CFG(_id, _cid, _vid, _data, _meta) \
122 ((struct bt_audio_codec_cfg){ \
123 /* Use HCI data path as default, can be overwritten by application */ \
124 .path_id = BT_ISO_DATA_PATH_HCI, \
125 .ctlr_transcode = false, \
126 COND_CODE_1(IS_ENABLED(CONFIG_BT_BAP_UNICAST), \
127 (.target_latency = BT_AUDIO_CODEC_CFG_TARGET_LATENCY_BALANCED, \
128 .target_phy = BT_AUDIO_CODEC_CFG_TARGET_PHY_2M,), \
129 ()) \
130 .id = _id, \
131 .cid = _cid, \
132 .vid = _vid, \
133 .data_len = sizeof((uint8_t[])_data), \
134 .data = _data, \
135 .meta_len = sizeof((uint8_t[])_meta), \
136 .meta = _meta, \
137 })
138
148#define BT_AUDIO_CODEC_CAP(_id, _cid, _vid, _data, _meta) \
149 ((struct bt_audio_codec_cap){ \
150 /* Use HCI data path as default, can be overwritten by application */ \
151 .path_id = BT_ISO_DATA_PATH_HCI, \
152 .ctlr_transcode = false, \
153 .id = (_id), \
154 .cid = (_cid), \
155 .vid = (_vid), \
156 .data_len = sizeof((uint8_t[])_data), \
157 .data = _data, \
158 .meta_len = sizeof((uint8_t[])_meta), \
159 .meta = _meta, \
160 })
161
182#if CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE > 0 || defined(__DOXYGEN__)
184 size_t data_len;
186 uint8_t data[CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE];
187#endif /* CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE > 0 */
188#if defined(CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE) || defined(__DOXYGEN__)
190 size_t meta_len;
192 uint8_t meta[CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE];
193#endif /* CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE */
194};
195
212
228
243#if defined(CONFIG_BT_BAP_UNICAST) || defined(__DOXYGEN__)
254#endif /* CONFIG_BT_BAP_UNICAST */
261#if CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE > 0 || defined(__DOXYGEN__)
263 size_t data_len;
265 uint8_t data[CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE];
266#endif /* CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE > 0 */
267#if CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE > 0 || defined(__DOXYGEN__)
269 size_t meta_len;
271 uint8_t meta[CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE];
272#endif /* CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE > 0 */
273};
274
289int bt_audio_data_parse(const uint8_t ltv[], size_t size,
290 bool (*func)(struct bt_data *data, void *user_data), void *user_data);
291
307int bt_audio_data_get_val(const uint8_t ltv_data[], size_t size, uint8_t type,
308 const uint8_t **data);
309
318
336
344static inline const char *bt_audio_dir_to_str(enum bt_audio_dir dir)
345{
346 switch (dir) {
348 return "Sink";
350 return "Source";
351 default:
352 return "Unknown";
353 }
354}
355
364
374
384
396
408 enum bt_audio_codec_cfg_freq freq);
409
419
429
441
453 enum bt_audio_codec_cfg_frame_dur frame_dur);
454
476 enum bt_audio_location *chan_allocation,
477 bool fallback_to_default);
478
490 enum bt_audio_location chan_allocation);
491
512
524 uint16_t octets_per_frame);
525
547 bool fallback_to_default);
548
560 uint8_t frame_blocks);
561
574 enum bt_audio_codec_cfg_type type, const uint8_t **data);
575
589 enum bt_audio_codec_cfg_type type, const uint8_t *data,
590 size_t data_len);
591
604 enum bt_audio_codec_cfg_type type);
605
619 const uint8_t **data);
620
634 enum bt_audio_metadata_type type, const uint8_t *data,
635 size_t data_len);
636
649 enum bt_audio_metadata_type type);
666 bool fallback_to_default);
667
679 enum bt_audio_context ctx);
680
694
706 enum bt_audio_context ctx);
707
721 const uint8_t **program_info);
722
735 const uint8_t *program_info, size_t program_info_len);
736
751 const uint8_t **lang);
752
764 const uint8_t lang[BT_AUDIO_LANG_SIZE]);
765
779 const uint8_t **ccid_list);
780
793 const uint8_t *ccid_list, size_t ccid_list_len);
794
808
820 enum bt_audio_parental_rating parental_rating);
821
835 const uint8_t **program_info_uri);
836
849 const uint8_t *program_info_uri,
850 size_t program_info_uri_len);
851
865
878
891 const struct bt_audio_codec_cfg *codec_cfg);
892
903 struct bt_audio_codec_cfg *codec_cfg);
904
918 const struct bt_audio_codec_cfg *codec_cfg);
919
931 struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_assisted_listening_stream val);
932
947 const uint8_t **broadcast_name);
948
965 const uint8_t *broadcast_name,
966 size_t broadcast_name_len);
967
981 const uint8_t **extended_meta);
982
995 const uint8_t *extended_meta, size_t extended_meta_len);
996
1010 const uint8_t **vendor_meta);
1011
1024 const uint8_t *vendor_meta, size_t vendor_meta_len); /* End of bt_audio_codec_cfg */
1026
1036
1049 enum bt_audio_codec_cap_type type, const uint8_t **data);
1050
1064 enum bt_audio_codec_cap_type type, const uint8_t *data,
1065 size_t data_len);
1066
1079 enum bt_audio_codec_cap_type type);
1080
1093
1105 enum bt_audio_codec_cap_freq freq);
1106
1118
1130 enum bt_audio_codec_cap_frame_dur frame_dur);
1131
1145 bool fallback_to_default);
1146
1158 struct bt_audio_codec_cap *codec_cap, enum bt_audio_codec_cap_chan_count chan_count);
1159
1172 const struct bt_audio_codec_cap *codec_cap,
1173 struct bt_audio_codec_octets_per_codec_frame *codec_frame);
1174
1186 struct bt_audio_codec_cap *codec_cap,
1187 const struct bt_audio_codec_octets_per_codec_frame *codec_frame);
1188
1202 bool fallback_to_default);
1203
1215 uint8_t codec_frames_per_sdu);
1216
1229 const uint8_t **data);
1230
1244 enum bt_audio_metadata_type type, const uint8_t *data,
1245 size_t data_len);
1246
1259 enum bt_audio_metadata_type type);
1260
1274
1286 enum bt_audio_context ctx);
1287
1301
1313 enum bt_audio_context ctx);
1314
1328 const uint8_t **program_info);
1329
1342 const uint8_t *program_info, size_t program_info_len);
1343
1358 const uint8_t **lang);
1359
1371 const uint8_t lang[BT_AUDIO_LANG_SIZE]);
1372
1386 const uint8_t **ccid_list);
1387
1400 const uint8_t *ccid_list, size_t ccid_list_len);
1401
1415
1427 enum bt_audio_parental_rating parental_rating);
1428
1442 const uint8_t **program_info_uri);
1443
1456 const uint8_t *program_info_uri,
1457 size_t program_info_uri_len);
1458
1472
1485
1498 const struct bt_audio_codec_cap *codec_cap);
1499
1510 struct bt_audio_codec_cap *codec_cap);
1511
1525 const struct bt_audio_codec_cap *codec_cap);
1526
1538 struct bt_audio_codec_cap *codec_cap, enum bt_audio_assisted_listening_stream val);
1539
1553 const uint8_t **broadcast_name);
1554
1571 const uint8_t *broadcast_name,
1572 size_t broadcast_name_len);
1586 const uint8_t **extended_meta);
1587
1600 const uint8_t *extended_meta, size_t extended_meta_len);
1601
1615 const uint8_t **vendor_meta);
1616
1629 const uint8_t *vendor_meta, size_t vendor_meta_len);
1630 /* End of bt_audio_codec_cap */
1632
1641
1651static inline char *bt_audio_context_bit_to_str(enum bt_audio_context context)
1652{
1653 switch (context) {
1655 return "None";
1657 return "Unspecified";
1659 return "Conversational";
1661 return "Media";
1663 return "Game";
1665 return "Instructional";
1667 return "Voice assistant";
1669 return "Live";
1671 return "Sound effects";
1673 return "Notifications";
1675 return "Ringtone";
1677 return "Alerts";
1679 return "Emergency alarm";
1680 default:
1681 return "Unknown context";
1682 }
1683}
1684
1692static inline char *bt_audio_parental_rating_to_str(enum bt_audio_parental_rating parental_rating)
1693{
1694 switch (parental_rating) {
1696 return "No rating";
1698 return "Any";
1700 return "Age 5 or above";
1702 return "Age 6 or above";
1704 return "Age 7 or above";
1706 return "Age 8 or above";
1708 return "Age 9 or above";
1710 return "Age 10 or above";
1712 return "Age 11 or above";
1714 return "Age 12 or above";
1716 return "Age 13 or above";
1718 return "Age 14 or above";
1720 return "Age 15 or above";
1722 return "Age 16 or above";
1724 return "Age 17 or above";
1726 return "Age 18 or above";
1727 default:
1728 return "Unknown rating";
1729 }
1730}
1731
1740{
1741 switch (state) {
1743 return "Disabled";
1745 return "Enabled";
1746 default:
1747 return "Unknown active state";
1748 }
1749}
1750
1761{
1762 switch (freq) {
1764 return "8000 Hz";
1766 return "11025 Hz";
1768 return "16000 Hz";
1770 return "22050 Hz";
1772 return "24000 Hz";
1774 return "32000 Hz";
1776 return "44100 Hz";
1778 return "48000 Hz";
1780 return "88200 Hz";
1782 return "96000 Hz";
1784 return "176400 Hz";
1786 return "192000 Hz";
1788 return "384000 Hz";
1789 default:
1790 return "Unknown supported frequency";
1791 }
1792}
1793
1803static inline char *
1805{
1806 switch (frame_dur) {
1808 return "7.5 ms";
1810 return "10 ms";
1812 return "7.5 ms preferred";
1814 return "10 ms preferred";
1815 default:
1816 return "Unknown frame duration";
1817 }
1818}
1819
1829static inline char *
1831{
1832 switch (chan_count) {
1834 return "1 channel";
1836 return "2 channels";
1838 return "3 channels";
1840 return "4 channels";
1842 return "5 channels";
1844 return "6 channels";
1846 return "7 channels";
1848 return "8 channels";
1849 default:
1850 return "Unknown channel count";
1851 }
1852}
1853
1863static inline char *bt_audio_location_bit_to_str(enum bt_audio_location location)
1864{
1865 switch (location) {
1867 return "Mono";
1869 return "Front left";
1871 return "Front right";
1873 return "Front center";
1875 return "Low frequency effects 1";
1877 return "Back left";
1879 return "Back right";
1881 return "Front left of center";
1883 return "Front right of center";
1885 return "Back center";
1887 return "Low frequency effects 2";
1889 return "Side left";
1891 return "Side right";
1893 return "Top front left";
1895 return "Top front right";
1897 return "Top front center";
1899 return "Top center";
1901 return "Top back left";
1903 return "Top back right";
1905 return "Top side left";
1907 return "Top side right";
1909 return "Top back center";
1911 return "Bottom front center";
1913 return "Bottom front left";
1915 return "Bottom front right";
1917 return "Front left wide";
1919 return "Front right wde";
1921 return "Left surround";
1923 return "Right surround";
1924 default:
1925 return "Unknown location";
1926 }
1927}
1928 /* End of bt_audio_to_str */
1930#ifdef __cplusplus
1931}
1932#endif
1933 /* end of bt_audio */
1935
1936#endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_H_ */
Bluetooth Assigned Numbers, codes and identifiers.
Bluetooth subsystem core APIs.
Bluetooth data buffer API.
Bluetooth connection handling.
Bluetooth data types and helpers.
Generic Attribute Profile handling.
bt_audio_active_state
Audio Active State defined by the Generic Audio assigned numbers (bluetooth.com).
Definition assigned_numbers.h:1290
bt_audio_assisted_listening_stream
Assisted Listening Stream defined by the Generic Audio assigned numbers (bluetooth....
Definition assigned_numbers.h:1298
bt_audio_location
Location values for BT Audio.
Definition assigned_numbers.h:1389
bt_audio_parental_rating
Parental rating defined by the Generic Audio assigned numbers (bluetooth.com).
Definition assigned_numbers.h:1254
bt_audio_codec_cfg_frame_dur
Codec configuration frame duration.
Definition assigned_numbers.h:1166
bt_audio_codec_cfg_freq
Codec configuration sampling frequency.
Definition assigned_numbers.h:1124
bt_audio_codec_cfg_type
Codec configuration types.
Definition assigned_numbers.h:1106
bt_audio_codec_cap_freq
Supported frequencies bitfield.
Definition assigned_numbers.h:972
bt_audio_metadata_type
Codec metadata type IDs.
Definition assigned_numbers.h:1308
bt_audio_codec_cap_chan_count
Supported audio capabilities channel count bitfield.
Definition assigned_numbers.h:1053
bt_audio_codec_cap_frame_dur
Supported frame durations bitfield.
Definition assigned_numbers.h:1024
bt_audio_codec_cap_type
Codec capability types.
Definition assigned_numbers.h:954
bt_audio_context
Audio Context Type for Generic Audio.
Definition assigned_numbers.h:1179
@ BT_AUDIO_ACTIVE_STATE_ENABLED
Audio data is being transmitted.
Definition assigned_numbers.h:1294
@ BT_AUDIO_ACTIVE_STATE_DISABLED
No audio data is being transmitted.
Definition assigned_numbers.h:1292
@ BT_AUDIO_LOCATION_FRONT_CENTER
Front Center.
Definition assigned_numbers.h:1397
@ BT_AUDIO_LOCATION_TOP_BACK_LEFT
Top Back Left.
Definition assigned_numbers.h:1425
@ BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_2
Low Frequency Effects 2.
Definition assigned_numbers.h:1411
@ BT_AUDIO_LOCATION_TOP_SIDE_RIGHT
Top Side Right.
Definition assigned_numbers.h:1431
@ BT_AUDIO_LOCATION_FRONT_RIGHT
Front Right.
Definition assigned_numbers.h:1395
@ BT_AUDIO_LOCATION_BOTTOM_FRONT_RIGHT
Bottom Front Right.
Definition assigned_numbers.h:1439
@ BT_AUDIO_LOCATION_BACK_RIGHT
Back Right.
Definition assigned_numbers.h:1403
@ BT_AUDIO_LOCATION_TOP_CENTER
Top Center.
Definition assigned_numbers.h:1423
@ BT_AUDIO_LOCATION_LEFT_SURROUND
Left Surround.
Definition assigned_numbers.h:1445
@ BT_AUDIO_LOCATION_TOP_FRONT_RIGHT
Top Front Right.
Definition assigned_numbers.h:1419
@ BT_AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER
Front Right of Center.
Definition assigned_numbers.h:1407
@ BT_AUDIO_LOCATION_FRONT_RIGHT_WIDE
Front Right Wide.
Definition assigned_numbers.h:1443
@ BT_AUDIO_LOCATION_TOP_BACK_RIGHT
Top Back Right.
Definition assigned_numbers.h:1427
@ BT_AUDIO_LOCATION_MONO_AUDIO
Mono Audio (no specified Audio Location).
Definition assigned_numbers.h:1391
@ BT_AUDIO_LOCATION_BACK_LEFT
Back Left.
Definition assigned_numbers.h:1401
@ BT_AUDIO_LOCATION_RIGHT_SURROUND
Right Surround.
Definition assigned_numbers.h:1447
@ BT_AUDIO_LOCATION_SIDE_RIGHT
Side Right.
Definition assigned_numbers.h:1415
@ BT_AUDIO_LOCATION_TOP_FRONT_LEFT
Top Front Left.
Definition assigned_numbers.h:1417
@ BT_AUDIO_LOCATION_SIDE_LEFT
Side Left.
Definition assigned_numbers.h:1413
@ BT_AUDIO_LOCATION_BOTTOM_FRONT_LEFT
Bottom Front Left.
Definition assigned_numbers.h:1437
@ BT_AUDIO_LOCATION_TOP_FRONT_CENTER
Top Front Center.
Definition assigned_numbers.h:1421
@ BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_1
Low Frequency Effects 1.
Definition assigned_numbers.h:1399
@ BT_AUDIO_LOCATION_FRONT_LEFT
Front Left.
Definition assigned_numbers.h:1393
@ BT_AUDIO_LOCATION_FRONT_LEFT_WIDE
Front Left Wide.
Definition assigned_numbers.h:1441
@ BT_AUDIO_LOCATION_BOTTOM_FRONT_CENTER
Bottom Front Center.
Definition assigned_numbers.h:1435
@ BT_AUDIO_LOCATION_BACK_CENTER
Back Center.
Definition assigned_numbers.h:1409
@ BT_AUDIO_LOCATION_TOP_SIDE_LEFT
Top Side Left.
Definition assigned_numbers.h:1429
@ BT_AUDIO_LOCATION_TOP_BACK_CENTER
Top Back Center.
Definition assigned_numbers.h:1433
@ BT_AUDIO_LOCATION_FRONT_LEFT_OF_CENTER
Front Left of Center.
Definition assigned_numbers.h:1405
@ BT_AUDIO_PARENTAL_RATING_AGE_18_OR_ABOVE
Recommended for listeners of age 18 and above.
Definition assigned_numbers.h:1286
@ BT_AUDIO_PARENTAL_RATING_AGE_15_OR_ABOVE
Recommended for listeners of age 15 and above.
Definition assigned_numbers.h:1280
@ BT_AUDIO_PARENTAL_RATING_AGE_10_OR_ABOVE
Recommended for listeners of age 10 and above.
Definition assigned_numbers.h:1270
@ BT_AUDIO_PARENTAL_RATING_AGE_7_OR_ABOVE
Recommended for listeners of age 7 and above.
Definition assigned_numbers.h:1264
@ BT_AUDIO_PARENTAL_RATING_AGE_16_OR_ABOVE
Recommended for listeners of age 16 and above.
Definition assigned_numbers.h:1282
@ BT_AUDIO_PARENTAL_RATING_AGE_17_OR_ABOVE
Recommended for listeners of age 17 and above.
Definition assigned_numbers.h:1284
@ BT_AUDIO_PARENTAL_RATING_AGE_5_OR_ABOVE
Recommended for listeners of age 5 and above.
Definition assigned_numbers.h:1260
@ BT_AUDIO_PARENTAL_RATING_AGE_8_OR_ABOVE
Recommended for listeners of age 8 and above.
Definition assigned_numbers.h:1266
@ BT_AUDIO_PARENTAL_RATING_AGE_13_OR_ABOVE
Recommended for listeners of age 13 and above.
Definition assigned_numbers.h:1276
@ BT_AUDIO_PARENTAL_RATING_AGE_9_OR_ABOVE
Recommended for listeners of age 9 and above.
Definition assigned_numbers.h:1268
@ BT_AUDIO_PARENTAL_RATING_AGE_11_OR_ABOVE
Recommended for listeners of age 11 and above.
Definition assigned_numbers.h:1272
@ BT_AUDIO_PARENTAL_RATING_AGE_12_OR_ABOVE
Recommended for listeners of age 12 and above.
Definition assigned_numbers.h:1274
@ BT_AUDIO_PARENTAL_RATING_AGE_6_OR_ABOVE
Recommended for listeners of age 6 and above.
Definition assigned_numbers.h:1262
@ BT_AUDIO_PARENTAL_RATING_AGE_ANY
For all ages.
Definition assigned_numbers.h:1258
@ BT_AUDIO_PARENTAL_RATING_NO_RATING
No rating.
Definition assigned_numbers.h:1256
@ BT_AUDIO_PARENTAL_RATING_AGE_14_OR_ABOVE
Recommended for listeners of age 14 and above.
Definition assigned_numbers.h:1278
@ BT_AUDIO_CODEC_CAP_FREQ_176KHZ
176.4 Khz sampling frequency
Definition assigned_numbers.h:1004
@ BT_AUDIO_CODEC_CAP_FREQ_192KHZ
192 Khz sampling frequency
Definition assigned_numbers.h:1007
@ BT_AUDIO_CODEC_CAP_FREQ_88KHZ
88.2 Khz sampling frequency
Definition assigned_numbers.h:998
@ BT_AUDIO_CODEC_CAP_FREQ_8KHZ
8 Khz sampling frequency
Definition assigned_numbers.h:974
@ BT_AUDIO_CODEC_CAP_FREQ_11KHZ
11.025 Khz sampling frequency
Definition assigned_numbers.h:977
@ BT_AUDIO_CODEC_CAP_FREQ_32KHZ
32 Khz sampling frequency
Definition assigned_numbers.h:989
@ BT_AUDIO_CODEC_CAP_FREQ_48KHZ
48 Khz sampling frequency
Definition assigned_numbers.h:995
@ BT_AUDIO_CODEC_CAP_FREQ_24KHZ
24 Khz sampling frequency
Definition assigned_numbers.h:986
@ BT_AUDIO_CODEC_CAP_FREQ_16KHZ
16 Khz sampling frequency
Definition assigned_numbers.h:980
@ BT_AUDIO_CODEC_CAP_FREQ_44KHZ
44.1 Khz sampling frequency
Definition assigned_numbers.h:992
@ BT_AUDIO_CODEC_CAP_FREQ_22KHZ
22.05 Khz sampling frequency
Definition assigned_numbers.h:983
@ BT_AUDIO_CODEC_CAP_FREQ_384KHZ
384 Khz sampling frequency
Definition assigned_numbers.h:1010
@ BT_AUDIO_CODEC_CAP_FREQ_96KHZ
96 Khz sampling frequency
Definition assigned_numbers.h:1001
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_4
Supporting 4 channel.
Definition assigned_numbers.h:1064
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_2
Supporting 2 channel.
Definition assigned_numbers.h:1058
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_1
Supporting 1 channel.
Definition assigned_numbers.h:1055
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_3
Supporting 3 channel.
Definition assigned_numbers.h:1061
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_8
Supporting 8 channel.
Definition assigned_numbers.h:1076
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_7
Supporting 7 channel.
Definition assigned_numbers.h:1073
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_5
Supporting 5 channel.
Definition assigned_numbers.h:1067
@ BT_AUDIO_CODEC_CAP_CHAN_COUNT_6
Supporting 6 channel.
Definition assigned_numbers.h:1070
@ BT_AUDIO_CODEC_CAP_DURATION_7_5
7.5 msec frame duration capability
Definition assigned_numbers.h:1026
@ BT_AUDIO_CODEC_CAP_DURATION_PREFER_7_5
7.5 msec preferred frame duration capability.
Definition assigned_numbers.h:1041
@ BT_AUDIO_CODEC_CAP_DURATION_PREFER_10
10 msec preferred frame duration capability
Definition assigned_numbers.h:1049
@ BT_AUDIO_CODEC_CAP_DURATION_10
10 msec frame duration capability
Definition assigned_numbers.h:1029
@ BT_AUDIO_CONTEXT_TYPE_NOTIFICATIONS
Notification and reminder sounds; attention-seeking audio, for example, in beeps signaling the arriva...
Definition assigned_numbers.h:1217
@ BT_AUDIO_CONTEXT_TYPE_EMERGENCY_ALARM
Emergency alarm Emergency sounds, for example, fire alarms or other urgent alerts.
Definition assigned_numbers.h:1229
@ BT_AUDIO_CONTEXT_TYPE_INSTRUCTIONAL
Instructional audio, for example, in navigation, announcements, or user guidance.
Definition assigned_numbers.h:1200
@ BT_AUDIO_CONTEXT_TYPE_RINGTONE
Alerts the user to an incoming call, for example, an incoming telephony or video call,...
Definition assigned_numbers.h:1222
@ BT_AUDIO_CONTEXT_TYPE_LIVE
Live audio, for example, from a microphone where audio is perceived both through a direct acoustic pa...
Definition assigned_numbers.h:1207
@ BT_AUDIO_CONTEXT_TYPE_MEDIA
Media, for example, music playback, radio, podcast or movie soundtrack, or tv audio.
Definition assigned_numbers.h:1193
@ BT_AUDIO_CONTEXT_TYPE_GAME
Audio associated with video gaming, for example gaming media; gaming effects; music and in-game voice...
Definition assigned_numbers.h:1198
@ BT_AUDIO_CONTEXT_TYPE_SOUND_EFFECTS
Sound effects including keyboard and touch feedback; menu and user interface sounds; and other system...
Definition assigned_numbers.h:1212
@ BT_AUDIO_CONTEXT_TYPE_VOICE_ASSISTANTS
Man-machine communication, for example, with voice recognition or virtual assistants.
Definition assigned_numbers.h:1202
@ BT_AUDIO_CONTEXT_TYPE_NONE
No context type.
Definition assigned_numbers.h:1181
@ BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL
Conversation between humans, for example, in telephony or video calls, including traditional cellular...
Definition assigned_numbers.h:1191
@ BT_AUDIO_CONTEXT_TYPE_ALERTS
Alarms and timers; immediate alerts, for example, in a critical battery alarm, timer expiry or alarm ...
Definition assigned_numbers.h:1227
@ BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED
Identifies audio where the use case context does not match any other defined value,...
Definition assigned_numbers.h:1186
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 frame duration from a codec capability.
int bt_audio_codec_cap_get_max_codec_frames_per_sdu(const struct bt_audio_codec_cap *codec_cap, bool fallback_to_default)
Extract the maximum codec frames per SDU 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_set_assisted_listening_stream(struct bt_audio_codec_cap *codec_cap, enum bt_audio_assisted_listening_stream val)
Set the assisted listening stream value of a codec capability metadata.
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_get_broadcast_name(const struct bt_audio_codec_cap *codec_cap, const uint8_t **broadcast_name)
Extract broadcast name.
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_meta_set_broadcast_name(struct bt_audio_codec_cap *codec_cap, const uint8_t *broadcast_name, size_t broadcast_name_len)
Set the broadcast name of a codec capability metadata.
int bt_audio_codec_cap_meta_get_assisted_listening_stream(const struct bt_audio_codec_cap *codec_cap)
Extract assisted listening stream.
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_lang(struct bt_audio_codec_cap *codec_cap, const uint8_t lang[3U])
Set the 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_get_supported_audio_chan_counts(const struct bt_audio_codec_cap *codec_cap, bool fallback_to_default)
Extract the supported audio channel counts from a codec capability.
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_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_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_get_lang(const struct bt_audio_codec_cap *codec_cap, const uint8_t **lang)
Extract language.
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_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_get_assisted_listening_stream(const struct bt_audio_codec_cfg *codec_cfg)
Extract assisted listening stream.
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_meta_set_broadcast_name(struct bt_audio_codec_cfg *codec_cfg, const uint8_t *broadcast_name, size_t broadcast_name_len)
Set the broadcast name of a codec configuration metadata.
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_lang(const struct bt_audio_codec_cfg *codec_cfg, const uint8_t **lang)
Extract language.
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_broadcast_name(const struct bt_audio_codec_cfg *codec_cfg, const uint8_t **broadcast_name)
Extract broadcast name.
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_assisted_listening_stream(struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_assisted_listening_stream val)
Set the assisted listening stream value of a codec configuration metadata.
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_meta_set_lang(struct bt_audio_codec_cfg *codec_cfg, const uint8_t lang[3U])
Set the language of a codec configuration metadata.
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 blocks 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_get_chan_allocation(const struct bt_audio_codec_cfg *codec_cfg, enum bt_audio_location *chan_allocation, bool fallback_to_default)
Extract channel allocation 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_pref_context(const struct bt_audio_codec_cfg *codec_cfg, bool fallback_to_default)
Extract preferred contexts.
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.
static char * bt_audio_active_state_to_str(enum bt_audio_active_state state)
Returns a string representation of a bt_audio_active_state value.
Definition audio.h:1739
static char * bt_audio_context_bit_to_str(enum bt_audio_context context)
Returns a string representation of a specific bt_audio_context bit.
Definition audio.h:1651
static char * bt_audio_parental_rating_to_str(enum bt_audio_parental_rating parental_rating)
Returns a string representation of a bt_audio_parental_rating value.
Definition audio.h:1692
static char * bt_audio_codec_cap_frame_dur_bit_to_str(enum bt_audio_codec_cap_frame_dur frame_dur)
Returns a string representation of a specific bt_audio_codec_cap_frame_dur bit.
Definition audio.h:1804
static char * bt_audio_codec_cap_chan_count_bit_to_str(enum bt_audio_codec_cap_chan_count chan_count)
Returns a string representation of a specific bt_audio_codec_cap_chan_count bit.
Definition audio.h:1830
static char * bt_audio_location_bit_to_str(enum bt_audio_location location)
Returns a string representation of a specific bt_audio_location bit.
Definition audio.h:1863
static char * bt_audio_codec_cap_freq_bit_to_str(enum bt_audio_codec_cap_freq freq)
Returns a string representation of a specific bt_audio_codec_cap_freq bit.
Definition audio.h:1760
bt_audio_dir
Audio direction from the perspective of the BAP Unicast Server / BAP Broadcast Sink.
Definition audio.h:320
bt_audio_codec_cfg_target_latency
Codec configuration target latency.
Definition audio.h:202
bt_audio_codec_cfg_target_phy
Codec configuration target PHY.
Definition audio.h:218
uint8_t bt_audio_get_chan_count(enum bt_audio_location chan_allocation)
Function to get the number of channels from the channel allocation.
#define BT_AUDIO_LANG_SIZE
Size of the stream language value, e.g.
Definition audio.h:58
int bt_audio_data_get_val(const uint8_t ltv_data[], size_t size, uint8_t type, const uint8_t **data)
Get the value of a specific data type in an length-type-value data array.
static const char * bt_audio_dir_to_str(enum bt_audio_dir dir)
Returns a string representation of a specific bt_audio_dir direction.
Definition audio.h:344
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_DIR_SINK
Audio direction sink.
Definition audio.h:327
@ BT_AUDIO_DIR_SOURCE
Audio direction source.
Definition audio.h:334
@ BT_AUDIO_CODEC_CFG_TARGET_LATENCY_HIGH
Target high latency.
Definition audio.h:210
@ BT_AUDIO_CODEC_CFG_TARGET_LATENCY_BALANCED
Target balanced latency.
Definition audio.h:207
@ BT_AUDIO_CODEC_CFG_TARGET_LATENCY_LOW
Target low latency.
Definition audio.h:204
@ BT_AUDIO_CODEC_CFG_TARGET_PHY_2M
LE 2M PHY.
Definition audio.h:223
@ BT_AUDIO_CODEC_CFG_TARGET_PHY_CODED
LE Coded PHY.
Definition audio.h:226
@ BT_AUDIO_CODEC_CFG_TARGET_PHY_1M
LE 1M PHY.
Definition audio.h:220
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:163
uint16_t vid
Codec Company Vendor ID.
Definition audio.h:181
uint8_t data[CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE]
Codec Specific Capabilities Data.
Definition audio.h:186
uint16_t cid
Codec Company ID.
Definition audio.h:179
uint8_t path_id
Data path ID.
Definition audio.h:169
bool ctlr_transcode
Whether or not the local controller should transcode.
Definition audio.h:175
uint8_t meta[CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE]
Codec Specific Capabilities Metadata.
Definition audio.h:192
size_t data_len
Codec Specific Capabilities Data count.
Definition audio.h:184
uint8_t id
Codec ID.
Definition audio.h:177
size_t meta_len
Codec Specific Capabilities Metadata count.
Definition audio.h:190
Codec specific configuration structure.
Definition audio.h:230
size_t meta_len
Codec Specific Capabilities Metadata count.
Definition audio.h:269
uint16_t vid
Codec Company Vendor ID.
Definition audio.h:260
uint8_t meta[CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE]
Codec Specific Capabilities Metadata.
Definition audio.h:271
enum bt_audio_codec_cfg_target_phy target_phy
Target PHY.
Definition audio.h:253
uint16_t cid
Codec Company ID.
Definition audio.h:258
size_t data_len
Codec Specific Capabilities Data count.
Definition audio.h:263
uint8_t path_id
Data path ID.
Definition audio.h:236
bool ctlr_transcode
Whether or not the local controller should transcode.
Definition audio.h:242
uint8_t id
Codec ID.
Definition audio.h:256
enum bt_audio_codec_cfg_target_latency target_latency
Target latency.
Definition audio.h:248
uint8_t data[CONFIG_BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE]
Codec Specific Capabilities Data.
Definition audio.h:265
struct to hold minimum and maximum supported codec frame sizes
Definition audio.h:74
uint16_t min
Minimum number of octets supported per codec frame.
Definition audio.h:76
uint16_t max
Maximum number of octets supported per codec frame.
Definition audio.h:78
Bluetooth data.
Definition data.h:40
Header file for the Atomic operations API.
Misc utilities.
Macro utilities.