1 /* @file
2  * @brief Internal APIs for Audio Stream handling
3 
4  * Copyright (c) 2020 Intel Corporation
5  * Copyright (c) 2021-2023 Nordic Semiconductor ASA
6  *
7  * SPDX-License-Identifier: Apache-2.0
8  */
9 
10 #include <stdbool.h>
11 
12 #include <zephyr/bluetooth/audio/audio.h>
13 #include <zephyr/bluetooth/audio/bap.h>
14 #include <zephyr/bluetooth/conn.h>
15 #include <zephyr/bluetooth/iso.h>
16 
17 void bt_bap_stream_init(struct bt_bap_stream *stream);
18 
19 /* Disconnect ISO channel */
20 int bt_bap_stream_disconnect(struct bt_bap_stream *stream);
21 
22 void bt_bap_stream_reset(struct bt_bap_stream *stream);
23 
24 void bt_bap_stream_attach(struct bt_conn *conn, struct bt_bap_stream *stream, struct bt_bap_ep *ep,
25 			  struct bt_audio_codec_cfg *codec_cfg);
26 
27 void bt_bap_qos_cfg_to_iso_qos(struct bt_iso_chan_io_qos *io, const struct bt_bap_qos_cfg *qos_cfg);
28 
29 void bt_bap_stream_detach(struct bt_bap_stream *stream);
30 
31 enum bt_bap_ascs_reason bt_audio_verify_qos(const struct bt_bap_qos_cfg *qos);
32 bool bt_audio_valid_codec_cfg(const struct bt_audio_codec_cfg *codec_cfg);
33 bool bt_bap_valid_qos_pref(const struct bt_bap_qos_cfg_pref *qos_pref);
34 bool bt_bap_stream_can_disconnect(const struct bt_bap_stream *stream);
35 
36 enum bt_bap_ascs_reason bt_bap_stream_verify_qos(const struct bt_bap_stream *stream,
37 						 const struct bt_bap_qos_cfg *qos);
38 
39 struct bt_iso_chan *bt_bap_stream_iso_chan_get(struct bt_bap_stream *stream);
40