|
Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Header for Bluetooth BAP. More...
#include <stdbool.h>#include <stddef.h>#include <stdint.h>#include <zephyr/bluetooth/audio/audio.h>#include <zephyr/bluetooth/addr.h>#include <zephyr/bluetooth/bluetooth.h>#include <zephyr/bluetooth/conn.h>#include <zephyr/bluetooth/iso.h>#include <zephyr/net_buf.h>#include <zephyr/sys/slist.h>#include <zephyr/sys/util_macro.h>Go to the source code of this file.
Data Structures | |
| struct | bt_bap_qos_cfg |
| QoS configuration structure. More... | |
| struct | bt_bap_qos_cfg_pref |
| Audio Stream Quality of Service Preference structure. More... | |
| struct | bt_bap_ascs_rsp |
| Structure storing values of fields of ASE Control Point notification. More... | |
| struct | bt_bap_bass_subgroup |
| Struct to hold subgroup specific information for the receive state. More... | |
| struct | bt_bap_scan_delegator_recv_state |
| Represents the Broadcast Audio Scan Service receive state. More... | |
| struct | bt_bap_scan_delegator_cb |
| Struct to hold the Basic Audio Profile Scan Delegator callbacks. More... | |
| struct | bt_bap_ep_info |
| Structure holding information of audio stream endpoint. More... | |
| struct | bt_bap_stream |
| Basic Audio Profile stream structure. More... | |
| struct | bt_bap_stream_ops |
| Stream operation. More... | |
| struct | bt_bap_unicast_server_register_param |
| Structure for registering Unicast Server. More... | |
| struct | bt_bap_unicast_server_cb |
| Unicast Server callback structure. More... | |
| struct | bt_bap_unicast_group_stream_param |
| Parameter struct for each stream in the unicast group. More... | |
| struct | bt_bap_unicast_group_stream_pair_param |
| Parameter struct for the unicast group functions. More... | |
| struct | bt_bap_unicast_group_param |
| Parameters for the creating unicast groups with bt_bap_unicast_group_create() More... | |
| struct | bt_bap_unicast_client_cb |
| Unicast Client callback structure. More... | |
| struct | bt_bap_base_codec_id |
| Codec ID structure for a Broadcast Audio Source Endpoint (BASE) More... | |
| struct | bt_bap_base_subgroup_bis |
| BIS structure for each BIS in a Broadcast Audio Source Endpoint (BASE) subgroup. More... | |
| struct | bt_bap_broadcast_source_stream_param |
| Broadcast Source stream parameters. More... | |
| struct | bt_bap_broadcast_source_subgroup_param |
| Broadcast Source subgroup parameters. More... | |
| struct | bt_bap_broadcast_source_param |
| Broadcast Source create parameters. More... | |
| struct | bt_bap_broadcast_sink_cb |
| Broadcast Audio Sink callback structure. More... | |
| struct | bt_bap_scan_delegator_add_src_param |
| Parameters for bt_bap_scan_delegator_add_src() More... | |
| struct | bt_bap_scan_delegator_mod_src_param |
| Parameters for bt_bap_scan_delegator_mod_src() More... | |
| struct | bt_bap_broadcast_assistant_cb |
| Struct to hold the Basic Audio Profile Broadcast Assistant callbacks. More... | |
| struct | bt_bap_broadcast_assistant_add_src_param |
| Parameters for adding a source to a Broadcast Audio Scan Service server. More... | |
| struct | bt_bap_broadcast_assistant_mod_src_param |
| Parameters for modifying a source. More... | |
Macros | |
| #define | BT_BAP_INVALID_BROADCAST_ID 0xFFFFFFFFU |
| An invalid Broadcast ID. | |
| #define | BT_BAP_BASS_VALID_BIT_BITFIELD(_bis_bitfield) |
| Check if a BAP BASS BIS_Sync bitfield is valid. | |
| #define | BT_BAP_QOS_CFG(_interval, _framing, _phy, _sdu, _rtn, _latency, _pd) |
| Helper to declare elements of bt_bap_qos_cfg. | |
| #define | BT_BAP_QOS_CFG_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd) |
| Helper to declare Input Unframed bt_bap_qos_cfg. | |
| #define | BT_BAP_QOS_CFG_FRAMED(_interval, _sdu, _rtn, _latency, _pd) |
| Helper to declare Input Framed bt_bap_qos_cfg. | |
| #define | BT_BAP_QOS_CFG_PREF(_unframed_supported, _phy, _rtn, _latency, _pd_min, _pd_max, _pref_pd_min, _pref_pd_max) |
| Helper to declare elements of bt_bap_qos_cfg_pref. | |
| #define | BT_BAP_PA_INTERVAL_UNKNOWN 0xFFFF |
| Value indicating that the periodic advertising interval is unknown. | |
| #define | BT_BAP_BIS_SYNC_NO_PREF 0xFFFFFFFF |
| Broadcast Assistant no BIS sync preference. | |
| #define | BT_BAP_BIS_SYNC_FAILED 0xFFFFFFFF |
| BIS sync value indicating that the BIG sync has failed for any reason. | |
| #define | BT_BAP_ASCS_RSP(c, r) (struct bt_bap_ascs_rsp) { .code = c, .reason = r } |
| Macro used to initialise the object storing values of ASE Control Point notification. | |
Typedefs | |
| typedef void(* | bt_bap_ep_func_t) (struct bt_bap_ep *ep, void *user_data) |
| The callback function called for each endpoint. | |
| typedef bool(* | bt_bap_scan_delegator_state_func_t) (const struct bt_bap_scan_delegator_recv_state *recv_state, void *user_data) |
| Callback function for Scan Delegator receive state search functions. | |
| typedef void(* | bt_bap_broadcast_assistant_write_cb) (struct bt_conn *conn, int err) |
| Callback function for writes. | |
Functions | |
| int | bt_bap_ep_get_info (const struct bt_bap_ep *ep, struct bt_bap_ep_info *info) |
| Return structure holding information of audio stream endpoint. | |
| void | bt_bap_stream_cb_register (struct bt_bap_stream *stream, struct bt_bap_stream_ops *ops) |
| Register Audio callbacks for a stream. | |
| int | bt_bap_stream_config (struct bt_conn *conn, struct bt_bap_stream *stream, struct bt_bap_ep *ep, struct bt_audio_codec_cfg *codec_cfg) |
| Configure Audio Stream. | |
| int | bt_bap_stream_reconfig (struct bt_bap_stream *stream, struct bt_audio_codec_cfg *codec_cfg) |
| Reconfigure Audio Stream. | |
| int | bt_bap_stream_qos (struct bt_conn *conn, struct bt_bap_unicast_group *group) |
| Configure Audio Stream QoS. | |
| int | bt_bap_stream_enable (struct bt_bap_stream *stream, const uint8_t meta[], size_t meta_len) |
| Enable Audio Stream. | |
| int | bt_bap_stream_metadata (struct bt_bap_stream *stream, const uint8_t meta[], size_t meta_len) |
| Change Audio Stream Metadata. | |
| int | bt_bap_stream_disable (struct bt_bap_stream *stream) |
| Disable Audio Stream. | |
| int | bt_bap_stream_connect (struct bt_bap_stream *stream) |
| Connect unicast audio stream. | |
| int | bt_bap_stream_start (struct bt_bap_stream *stream) |
| Start Audio Stream. | |
| int | bt_bap_stream_stop (struct bt_bap_stream *stream) |
| Stop Audio Stream. | |
| int | bt_bap_stream_release (struct bt_bap_stream *stream) |
| Release Audio Stream. | |
| int | bt_bap_stream_send (struct bt_bap_stream *stream, struct net_buf *buf, uint16_t seq_num) |
| Send data to Audio stream without timestamp. | |
| int | bt_bap_stream_send_ts (struct bt_bap_stream *stream, struct net_buf *buf, uint16_t seq_num, uint32_t ts) |
| Send data to Audio stream with timestamp. | |
| int | bt_bap_stream_get_tx_sync (struct bt_bap_stream *stream, struct bt_iso_tx_info *info) |
| Get ISO transmission timing info for a Basic Audio Profile stream. | |
| int | bt_bap_unicast_server_register (const struct bt_bap_unicast_server_register_param *param) |
| Register the Unicast Server. | |
| int | bt_bap_unicast_server_unregister (void) |
| Unregister the Unicast Server. | |
| int | bt_bap_unicast_server_register_cb (const struct bt_bap_unicast_server_cb *cb) |
| Register unicast server callbacks. | |
| int | bt_bap_unicast_server_unregister_cb (const struct bt_bap_unicast_server_cb *cb) |
| Unregister unicast server callbacks. | |
| void | bt_bap_unicast_server_foreach_ep (struct bt_conn *conn, bt_bap_ep_func_t func, void *user_data) |
| Iterate through all endpoints of the given connection. | |
| int | bt_bap_unicast_server_config_ase (struct bt_conn *conn, struct bt_bap_stream *stream, struct bt_audio_codec_cfg *codec_cfg, const struct bt_bap_qos_cfg_pref *qos_pref) |
| Initialize and configure a new ASE. | |
| int | bt_bap_unicast_group_create (struct bt_bap_unicast_group_param *param, struct bt_bap_unicast_group **unicast_group) |
| Create unicast group. | |
| int | bt_bap_unicast_group_reconfig (struct bt_bap_unicast_group *unicast_group, const struct bt_bap_unicast_group_param *param) |
| Reconfigure unicast group. | |
| int | bt_bap_unicast_group_add_streams (struct bt_bap_unicast_group *unicast_group, struct bt_bap_unicast_group_stream_pair_param params[], size_t num_param) |
| Add streams to a unicast group as a unicast client. | |
| int | bt_bap_unicast_group_delete (struct bt_bap_unicast_group *unicast_group) |
| Delete audio unicast group. | |
| int | bt_bap_unicast_client_register_cb (struct bt_bap_unicast_client_cb *cb) |
| Register unicast client callbacks. | |
| int | bt_bap_unicast_client_discover (struct bt_conn *conn, enum bt_audio_dir dir) |
| Discover remote capabilities and endpoints. | |
| const struct bt_bap_base * | bt_bap_base_get_base_from_ad (const struct bt_data *ad) |
| Generate a pointer to a BASE from periodic advertising data. | |
| int | bt_bap_base_get_size (const struct bt_bap_base *base) |
| Get the size of a BASE. | |
| int | bt_bap_base_get_pres_delay (const struct bt_bap_base *base) |
| Get the presentation delay value of a BASE. | |
| int | bt_bap_base_get_subgroup_count (const struct bt_bap_base *base) |
| Get the subgroup count of a BASE. | |
| int | bt_bap_base_get_bis_indexes (const struct bt_bap_base *base, uint32_t *bis_indexes) |
| Get all BIS indexes of a BASE. | |
| int | bt_bap_base_foreach_subgroup (const struct bt_bap_base *base, bool(*func)(const struct bt_bap_base_subgroup *subgroup, void *user_data), void *user_data) |
| Iterate on all subgroups in the BASE. | |
| int | bt_bap_base_get_subgroup_codec_id (const struct bt_bap_base_subgroup *subgroup, struct bt_bap_base_codec_id *codec_id) |
| Get the codec ID of a subgroup. | |
| int | bt_bap_base_get_subgroup_codec_data (const struct bt_bap_base_subgroup *subgroup, uint8_t **data) |
| Get the codec configuration data of a subgroup. | |
| int | bt_bap_base_get_subgroup_codec_meta (const struct bt_bap_base_subgroup *subgroup, uint8_t **meta) |
| Get the codec metadata of a subgroup. | |
| int | bt_bap_base_subgroup_codec_to_codec_cfg (const struct bt_bap_base_subgroup *subgroup, struct bt_audio_codec_cfg *codec_cfg) |
| Store subgroup codec data in a Codec config parsing APIs. | |
| int | bt_bap_base_get_subgroup_bis_count (const struct bt_bap_base_subgroup *subgroup) |
| Get the BIS count of a subgroup. | |
| int | bt_bap_base_subgroup_get_bis_indexes (const struct bt_bap_base_subgroup *subgroup, uint32_t *bis_indexes) |
| Get all BIS indexes of a subgroup. | |
| int | bt_bap_base_subgroup_foreach_bis (const struct bt_bap_base_subgroup *subgroup, bool(*func)(const struct bt_bap_base_subgroup_bis *bis, void *user_data), void *user_data) |
| Iterate on all BIS in the subgroup. | |
| int | bt_bap_base_subgroup_bis_codec_to_codec_cfg (const struct bt_bap_base_subgroup_bis *bis, struct bt_audio_codec_cfg *codec_cfg) |
| Store BIS codec configuration data in a Codec config parsing APIs. | |
| int | bt_bap_broadcast_source_create (struct bt_bap_broadcast_source_param *param, struct bt_bap_broadcast_source **source) |
| Create audio broadcast source. | |
| int | bt_bap_broadcast_source_reconfig (struct bt_bap_broadcast_source *source, struct bt_bap_broadcast_source_param *param) |
| Reconfigure audio broadcast source. | |
| int | bt_bap_broadcast_source_update_metadata (struct bt_bap_broadcast_source *source, const uint8_t meta[], size_t meta_len) |
| Modify the metadata of an audio broadcast source. | |
| int | bt_bap_broadcast_source_start (struct bt_bap_broadcast_source *source, struct bt_le_ext_adv *adv) |
| Start audio broadcast source. | |
| int | bt_bap_broadcast_source_stop (struct bt_bap_broadcast_source *source) |
| Stop audio broadcast source. | |
| int | bt_bap_broadcast_source_delete (struct bt_bap_broadcast_source *source) |
| Delete audio broadcast source. | |
| int | bt_bap_broadcast_source_get_base (struct bt_bap_broadcast_source *source, struct net_buf_simple *base_buf) |
| Get the Broadcast Audio Stream Endpoint of a broadcast source. | |
| int | bt_bap_broadcast_sink_register_cb (struct bt_bap_broadcast_sink_cb *cb) |
| Register Broadcast sink callbacks. | |
| int | bt_bap_broadcast_sink_create (struct bt_le_per_adv_sync *pa_sync, uint32_t broadcast_id, struct bt_bap_broadcast_sink **sink) |
| Create a Broadcast Sink from a periodic advertising sync. | |
| int | bt_bap_broadcast_sink_sync (struct bt_bap_broadcast_sink *sink, uint32_t indexes_bitfield, struct bt_bap_stream *streams[], const uint8_t broadcast_code[BT_ISO_BROADCAST_CODE_SIZE]) |
| Sync to a broadcaster's audio. | |
| int | bt_bap_broadcast_sink_stop (struct bt_bap_broadcast_sink *sink) |
| Stop audio broadcast sink. | |
| int | bt_bap_broadcast_sink_delete (struct bt_bap_broadcast_sink *sink) |
| Release a broadcast sink. | |
| int | bt_bap_scan_delegator_register (struct bt_bap_scan_delegator_cb *cb) |
| Register the Basic Audio Profile Scan Delegator and BASS. | |
| int | bt_bap_scan_delegator_unregister (void) |
| unregister the Basic Audio Profile Scan Delegator and BASS. | |
| int | bt_bap_scan_delegator_set_pa_state (uint8_t src_id, enum bt_bap_pa_state pa_state) |
| Set the periodic advertising sync state to syncing. | |
| int | bt_bap_scan_delegator_set_bis_sync_state (uint8_t src_id, uint32_t bis_synced[CONFIG_BT_BAP_BASS_MAX_SUBGROUPS]) |
| Set the sync state of a receive state in the server. | |
| int | bt_bap_scan_delegator_add_src (const struct bt_bap_scan_delegator_add_src_param *param) |
| Add a receive state source locally. | |
| int | bt_bap_scan_delegator_mod_src (const struct bt_bap_scan_delegator_mod_src_param *param) |
| Add a receive state source locally. | |
| int | bt_bap_scan_delegator_rem_src (uint8_t src_id) |
| Remove a receive state source. | |
| void | bt_bap_scan_delegator_foreach_state (bt_bap_scan_delegator_state_func_t func, void *user_data) |
| Iterate through all existing receive states. | |
| const struct bt_bap_scan_delegator_recv_state * | bt_bap_scan_delegator_find_state (bt_bap_scan_delegator_state_func_t func, void *user_data) |
| Find and return a receive state based on a compare function. | |
| int | bt_bap_broadcast_assistant_discover (struct bt_conn *conn) |
| Discover Broadcast Audio Scan Service on the server. | |
| int | bt_bap_broadcast_assistant_scan_start (struct bt_conn *conn, bool start_scan) |
| Scan start for BISes for a remote server. | |
| int | bt_bap_broadcast_assistant_scan_stop (struct bt_conn *conn) |
| Stop remote scanning for BISes for a server. | |
| int | bt_bap_broadcast_assistant_register_cb (struct bt_bap_broadcast_assistant_cb *cb) |
| Registers the callbacks used by Broadcast Audio Scan Service client. | |
| int | bt_bap_broadcast_assistant_unregister_cb (struct bt_bap_broadcast_assistant_cb *cb) |
| Unregisters the callbacks used by the Broadcast Audio Scan Service client. | |
| int | bt_bap_broadcast_assistant_add_src (struct bt_conn *conn, const struct bt_bap_broadcast_assistant_add_src_param *param) |
| Add a source on the server. | |
| int | bt_bap_broadcast_assistant_mod_src (struct bt_conn *conn, const struct bt_bap_broadcast_assistant_mod_src_param *param) |
| Modify a source on the server. | |
| int | bt_bap_broadcast_assistant_set_broadcast_code (struct bt_conn *conn, uint8_t src_id, const uint8_t broadcast_code[BT_ISO_BROADCAST_CODE_SIZE]) |
| Set a broadcast code to the specified receive state. | |
| int | bt_bap_broadcast_assistant_rem_src (struct bt_conn *conn, uint8_t src_id) |
| Remove a source from the server. | |
| int | bt_bap_broadcast_assistant_read_recv_state (struct bt_conn *conn, uint8_t idx) |
| Read the specified receive state from the server. | |
Header for Bluetooth BAP.
Copyright (c) 2020 Bose Corporation Copyright (c) 2021-2024 Nordic Semiconductor ASA
SPDX-License-Identifier: Apache-2.0