|
Zephyr Project API 3.5.0
A Scalable Open Source RTOS
|
Bluetooth Audio handling. More...
#include <zephyr/sys/atomic.h>#include <zephyr/bluetooth/buf.h>#include <zephyr/bluetooth/conn.h>#include <zephyr/bluetooth/hci.h>#include <zephyr/bluetooth/iso.h>#include <zephyr/bluetooth/gatt.h>#include <zephyr/bluetooth/audio/lc3.h>Go to the source code of this file.
Data Structures | |
| struct | bt_audio_codec_cap |
| Codec capability structure. More... | |
| struct | bt_audio_codec_cfg |
| Codec specific configuration structure. More... | |
| struct | bt_audio_codec_qos |
| Codec QoS structure. More... | |
| struct | bt_audio_codec_qos_pref |
| Audio Stream Quality of Service Preference structure. More... | |
Macros | |
| #define | BT_AUDIO_BROADCAST_ID_SIZE 3 /* octets */ |
| #define | BT_AUDIO_BROADCAST_ID_MAX 0xFFFFFFU |
| Maximum broadcast ID value. | |
| #define | BT_AUDIO_PD_PREF_NONE 0x000000U |
| Indicates that the server have no preference for the presentation delay. | |
| #define | BT_AUDIO_PD_MAX 0xFFFFFFU |
| Maximum presentation delay in microseconds. | |
| #define | BT_AUDIO_BROADCAST_CODE_SIZE 16 |
| #define | BT_AUDIO_CONTEXT_TYPE_ANY |
| Any known context. | |
| #define | BT_AUDIO_METADATA_TYPE_IS_KNOWN(_type) |
| Helper to check whether metadata type is known by the stack. | |
| #define | BT_AUDIO_UNICAST_ANNOUNCEMENT_GENERAL 0x00 |
| #define | BT_AUDIO_UNICAST_ANNOUNCEMENT_TARGETED 0x01 |
| #define | BT_AUDIO_CODEC_DATA(_type, _bytes...) (sizeof((uint8_t)_type) + sizeof((uint8_t[]){_bytes})), (_type), _bytes |
| Helper to declare elements of bt_audio_codec_cap arrays. | |
| #define | BT_AUDIO_CODEC_CFG(_id, _cid, _vid, _data, _meta) |
| Helper to declare Codec config parsing APIs. | |
| #define | BT_AUDIO_CODEC_CAP(_id, _cid, _vid, _data, _meta) |
| Helper to declare Codec capability parsing APIs structure. | |
| #define | BT_AUDIO_LOCATION_ANY |
| Any known location. | |
| #define | BT_AUDIO_CODEC_QOS(_interval, _framing, _phy, _sdu, _rtn, _latency, _pd) |
| Helper to declare elements of bt_audio_codec_qos. | |
| #define | BT_AUDIO_CODEC_QOS_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd) |
| Helper to declare Input Unframed bt_audio_codec_qos. | |
| #define | BT_AUDIO_CODEC_QOS_FRAMED(_interval, _sdu, _rtn, _latency, _pd) |
| Helper to declare Input Framed bt_audio_codec_qos. | |
| #define | BT_AUDIO_CODEC_QOS_PREF(_unframed_supported, _phy, _rtn, _latency, _pd_min, _pd_max, _pref_pd_min, _pref_pd_max) |
| Helper to declare elements of bt_audio_codec_qos_pref. | |
Functions | |
| 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. | |
| 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_freq_hz_to_freq (uint32_t freq_hz) |
| Convert frequency value to assigned numbers frequency. | |
| 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_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_get_frame_duration_us (const struct bt_audio_codec_cfg *codec_cfg) |
| Extract frame duration from BT codec config. | |
| 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_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_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_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_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_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. | |
| 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_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. | |
| 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) |
| Extract preferred contexts. | |
| 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_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_stream_lang (const struct bt_audio_codec_cfg *codec_cfg) |
| Extract stream language. | |
| 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_meta_get_parental_rating (const struct bt_audio_codec_cfg *codec_cfg) |
| Extract parental rating. | |
| 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_meta_get_audio_active_state (const struct bt_audio_codec_cfg *codec_cfg) |
| Extract audio active state. | |
| 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_extended (const struct bt_audio_codec_cfg *codec_cfg, const uint8_t **extended_meta) |
| Extract extended metadata. | |
| 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. | |
| 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_cap_get_freq (const struct bt_audio_codec_cap *codec_cap) |
| Extract the frequency from a codec capability. | |
| 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_supported_audio_chan_counts (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_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_pref_context (const struct bt_audio_codec_cap *codec_cap) |
| Extract preferred contexts. | |
| 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_get_program_info (const struct bt_audio_codec_cap *codec_cap, const uint8_t **program_info) |
| Extract program info. | |
| 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_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_parental_rating (const struct bt_audio_codec_cap *codec_cap) |
| Extract parental rating. | |
| 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_meta_get_audio_active_state (const struct bt_audio_codec_cap *codec_cap) |
| Extract audio active state. | |
| 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_extended (const struct bt_audio_codec_cap *codec_cap, const uint8_t **extended_meta) |
| Extract extended metadata. | |
| 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. | |
Bluetooth Audio handling.