Zephyr API Documentation 4.0.99
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_cb |
Struct to hold the Broadcast Source callbacks. 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_BASS_MAX_SUBGROUPS 0 |
#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) |
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_register_cb (struct bt_bap_broadcast_source_cb *cb) |
Registers callbacks for Broadcast Sources. | |
int | bt_bap_broadcast_source_unregister_cb (struct bt_bap_broadcast_source_cb *cb) |
Unregisters callbacks for Broadcast Sources. | |
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[0]) |
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