Zephyr Project API  3.3.0
A Scalable Open Source RTOS
cap.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_CAP_H_
8#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_CAP_H_
9
22#include <zephyr/types.h>
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
50 struct bt_csip_set_member_svc_inst **svc_inst);
51
54#if defined(CONFIG_BT_AUDIO_UNICAST_CLIENT)
67 void (*unicast_discovery_complete)(
68 struct bt_conn *conn, int err,
69 const struct bt_csip_set_coordinator_csis_inst *csis_inst);
70
81 void (*unicast_start_complete)(struct bt_audio_unicast_group *unicast_group,
82 int err, struct bt_conn *conn);
83
94 void (*unicast_update_complete)(struct bt_audio_unicast_group *unicast_group,
95 int err, struct bt_conn *conn);
96
107 void (*unicast_stop_complete)(struct bt_audio_unicast_group *unicast_group,
108 int err, struct bt_conn *conn);
109#endif /* CONFIG_BT_AUDIO_UNICAST_CLIENT */
110};
111
122int bt_cap_initiator_unicast_discover(struct bt_conn *conn);
123
130};
131
135 struct bt_conn *member;
136
139};
140
144};
145
154 struct bt_audio_stream_ops *ops);
155
159
161 size_t count;
162
165
172
180 const struct bt_codec *codec;
181
183 const struct bt_codec_qos *qos;
184};
185
194
212 struct bt_audio_unicast_group **unicast_group);
213
228int bt_cap_initiator_unicast_audio_update(struct bt_audio_unicast_group *unicast_group,
229 uint8_t meta_count,
230 const struct bt_codec_data *meta);
231
245int bt_cap_initiator_unicast_audio_stop(struct bt_audio_unicast_group *unicast_group);
246
248
250 size_t count;
251
254
261 const struct bt_codec *codec;
262
264 const struct bt_codec_qos *qos;
265
273
287};
288
307 struct bt_audio_broadcast_source **source);
308
323int bt_cap_initiator_broadcast_audio_update(struct bt_audio_broadcast_source *broadcast_source,
324 uint8_t meta_count,
325 const struct bt_codec_data *meta);
326
340int bt_cap_initiator_broadcast_audio_stop(struct bt_audio_broadcast_source *broadcast_source);
341
342
345 struct bt_audio_unicast_group *unicast_group;
346
354
368};
369
387 struct bt_audio_broadcast_source **source);
388
395 struct bt_audio_broadcast_source *broadcast_source;
396
399
407 size_t count;
408
411};
412
430 struct bt_audio_unicast_group **unicast_group);
431
432#ifdef __cplusplus
433}
434#endif
435
440#endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_CAP_H_ */
Bluetooth Audio handling.
int bt_cap_initiator_unicast_audio_stop(struct bt_audio_unicast_group *unicast_group)
Stop unicast audio streams for a unicast group.
int bt_cap_initiator_broadcast_audio_start(const struct bt_cap_broadcast_audio_start_param *param, struct bt_audio_broadcast_source **source)
Start broadcast audio.
int bt_cap_initiator_unicast_audio_update(struct bt_audio_unicast_group *unicast_group, uint8_t meta_count, const struct bt_codec_data *meta)
Update unicast audio streams for a unicast group.
int bt_cap_initiator_register_cb(const struct bt_cap_initiator_cb *cb)
Register Common Audio Profile callbacks.
void bt_cap_stream_ops_register(struct bt_cap_stream *stream, struct bt_audio_stream_ops *ops)
Register Audio operations for a Common Audio Profile stream.
int bt_cap_initiator_broadcast_audio_update(struct bt_audio_broadcast_source *broadcast_source, uint8_t meta_count, const struct bt_codec_data *meta)
Update broadcast audio streams for a broadcast source.
int bt_cap_initiator_unicast_discover(struct bt_conn *conn)
Discovers audio support on a remote device.
int bt_cap_initiator_broadcast_to_unicast(const struct bt_cap_broadcast_to_unicast_param *param, struct bt_audio_unicast_group **unicast_group)
Hands over the data streams in a broadcast source to a unicast group.
bt_cap_set_type
Definition: cap.h:125
int bt_cap_initiator_broadcast_audio_stop(struct bt_audio_broadcast_source *broadcast_source)
Stop broadcast audio streams for a broadcast source.
int bt_cap_initiator_unicast_audio_start(const struct bt_cap_unicast_audio_start_param *param, struct bt_audio_unicast_group **unicast_group)
Setup and start unicast audio streams for a set of devices.
int bt_cap_initiator_unicast_to_broadcast(const struct bt_cap_unicast_to_broadcast_param *param, struct bt_audio_broadcast_source **source)
Hands over the data streams in a unicast group to a broadcast source.
int bt_cap_acceptor_register(const struct bt_csip_set_member_register_param *param, struct bt_csip_set_member_svc_inst **svc_inst)
Register the Common Audio Service.
@ BT_CAP_SET_TYPE_CSIP
Definition: cap.h:129
@ BT_CAP_SET_TYPE_AD_HOC
Definition: cap.h:127
#define BT_ISO_BROADCAST_CODE_SIZE
Definition: iso.h:83
Bluetooth ISO handling.
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
Stream operation.
Definition: audio.h:1641
Audio stream structure.
Definition: audio.h:1340
const struct bt_codec_qos * qos
Definition: cap.h:264
uint8_t broadcast_code[BT_ISO_BROADCAST_CODE_SIZE]
16-octet broadcast code.
Definition: cap.h:286
const struct bt_codec * codec
Codec configuration.
Definition: cap.h:261
bool encrypt
Whether or not to encrypt the streams.
Definition: cap.h:272
struct bt_cap_stream ** streams
Definition: cap.h:253
size_t count
Definition: cap.h:250
union bt_cap_set_member ** members
Definition: cap.h:410
enum bt_cap_set_type type
Definition: cap.h:398
struct bt_audio_broadcast_source * broadcast_source
The source broadcast source with the streams.
Definition: cap.h:395
size_t count
The number of set members in members.
Definition: cap.h:407
Definition: cap.h:53
Definition: cap.h:141
struct bt_audio_stream bap_stream
Definition: cap.h:142
struct bt_audio_stream_ops * ops
Definition: cap.h:143
const struct bt_codec_qos * qos
Definition: cap.h:183
enum bt_cap_set_type type
Definition: cap.h:158
const struct bt_codec * codec
Codec configuration.
Definition: cap.h:180
struct bt_cap_stream ** streams
Streams for the members.
Definition: cap.h:171
union bt_cap_set_member ** members
Definition: cap.h:164
size_t count
Definition: cap.h:161
struct bt_audio_unicast_group * unicast_group
Definition: cap.h:345
uint8_t broadcast_code[BT_ISO_BROADCAST_CODE_SIZE]
16-octet broadcast code.
Definition: cap.h:367
bool encrypt
Whether or not to encrypt the streams.
Definition: cap.h:353
Codec configuration structure.
Definition: audio.h:190
Codec QoS structure.
Definition: audio.h:437
Codec structure.
Definition: audio.h:304
Struct representing a coordinated set instance on a remote device.
Definition: csip.h:256
Definition: csip.h:113
Definition: cap.h:133
struct bt_conn * member
Definition: cap.h:135
struct bt_csip_set_coordinator_set_member * csip
Definition: cap.h:138