Bluetooth: Audio: Rename bt_audio_iso to bt_bap_iso
Rename the internal bt_audio_iso struct and API to bt_bap_iso Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit is contained in:
parent
271ff1d1a3
commit
e2765d7bd5
13 changed files with 157 additions and 168 deletions
|
@ -184,7 +184,7 @@ struct bt_bap_stream {
|
|||
*
|
||||
* This is only used for Unicast Client streams, and is handled internally.
|
||||
*/
|
||||
struct bt_audio_iso *audio_iso;
|
||||
struct bt_bap_iso *bap_iso;
|
||||
#endif /* CONFIG_BT_BAP_UNICAST_CLIENT */
|
||||
|
||||
/** Unicast or Broadcast group - Used internally */
|
||||
|
|
|
@ -375,7 +375,7 @@ config BT_BAP_STREAM
|
|||
BT_BAP_BROADCAST_SOURCE || BT_BAP_BROADCAST_SINK
|
||||
|
||||
parent-module = BT
|
||||
module = BT_AUDIO_ISO
|
||||
module = BT_BAP_ISO
|
||||
module-str = "Bluetooth Audio ISO"
|
||||
source "subsys/logging/Kconfig.template.log_config_inherit"
|
||||
|
||||
|
|
|
@ -393,7 +393,7 @@ void ascs_ep_set_state(struct bt_bap_ep *ep, uint8_t state)
|
|||
if (ep->iso == NULL ||
|
||||
ep->iso->chan.state == BT_ISO_STATE_DISCONNECTED) {
|
||||
if (ep->iso != NULL) {
|
||||
bt_audio_iso_unbind_ep(ep->iso, ep);
|
||||
bt_bap_iso_unbind_ep(ep->iso, ep);
|
||||
}
|
||||
|
||||
bt_bap_stream_detach(stream);
|
||||
|
@ -638,7 +638,7 @@ static void ascs_iso_recv(struct bt_iso_chan *chan,
|
|||
const struct bt_iso_recv_info *info,
|
||||
struct net_buf *buf)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
const struct bt_bap_stream_ops *ops;
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep;
|
||||
|
@ -688,7 +688,7 @@ static void ascs_iso_recv(struct bt_iso_chan *chan,
|
|||
|
||||
static void ascs_iso_sent(struct bt_iso_chan *chan)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
const struct bt_bap_stream_ops *ops;
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep;
|
||||
|
@ -745,7 +745,7 @@ static void ascs_ep_iso_connected(struct bt_bap_ep *ep)
|
|||
|
||||
static void ascs_iso_connected(struct bt_iso_chan *chan)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
|
||||
if (iso->rx.ep == NULL && iso->tx.ep == NULL) {
|
||||
LOG_ERR("iso %p not bound with ep", chan);
|
||||
|
@ -800,7 +800,7 @@ static void ascs_ep_iso_disconnected(struct bt_bap_ep *ep, uint8_t reason)
|
|||
}
|
||||
|
||||
if (ep->status.state == BT_BAP_EP_STATE_RELEASING) {
|
||||
bt_audio_iso_unbind_ep(ep->iso, ep);
|
||||
bt_bap_iso_unbind_ep(ep->iso, ep);
|
||||
bt_bap_stream_detach(stream);
|
||||
ascs_ep_set_state(ep, BT_BAP_EP_STATE_IDLE);
|
||||
} else {
|
||||
|
@ -824,7 +824,7 @@ static void ascs_ep_iso_disconnected(struct bt_bap_ep *ep, uint8_t reason)
|
|||
|
||||
static void ascs_iso_disconnected(struct bt_iso_chan *chan, uint8_t reason)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
|
||||
if (iso->rx.ep == NULL && iso->tx.ep == NULL) {
|
||||
LOG_ERR("iso %p not bound with ep", chan);
|
||||
|
@ -1102,15 +1102,15 @@ BT_CONN_CB_DEFINE(conn_cb) = {
|
|||
.disconnected = disconnected,
|
||||
};
|
||||
|
||||
struct audio_iso_find_params {
|
||||
struct bap_iso_find_params {
|
||||
struct bt_conn *acl;
|
||||
uint8_t cig_id;
|
||||
uint8_t cis_id;
|
||||
};
|
||||
|
||||
static bool audio_iso_find_func(struct bt_audio_iso *iso, void *user_data)
|
||||
static bool bap_iso_find_func(struct bt_bap_iso *iso, void *user_data)
|
||||
{
|
||||
struct audio_iso_find_params *params = user_data;
|
||||
struct bap_iso_find_params *params = user_data;
|
||||
const struct bt_bap_ep *ep;
|
||||
|
||||
if (iso->rx.ep != NULL) {
|
||||
|
@ -1126,28 +1126,26 @@ static bool audio_iso_find_func(struct bt_audio_iso *iso, void *user_data)
|
|||
ep->cis_id == params->cis_id;
|
||||
}
|
||||
|
||||
static struct bt_audio_iso *audio_iso_get_or_new(struct bt_ascs *ascs,
|
||||
uint8_t cig_id,
|
||||
uint8_t cis_id)
|
||||
static struct bt_bap_iso *bap_iso_get_or_new(struct bt_ascs *ascs, uint8_t cig_id, uint8_t cis_id)
|
||||
{
|
||||
struct bt_audio_iso *iso;
|
||||
struct audio_iso_find_params params = {
|
||||
struct bt_bap_iso *iso;
|
||||
struct bap_iso_find_params params = {
|
||||
.acl = ascs->conn,
|
||||
.cig_id = cig_id,
|
||||
.cis_id = cis_id,
|
||||
};
|
||||
|
||||
iso = bt_audio_iso_find(audio_iso_find_func, ¶ms);
|
||||
iso = bt_bap_iso_find(bap_iso_find_func, ¶ms);
|
||||
if (iso) {
|
||||
return iso;
|
||||
}
|
||||
|
||||
iso = bt_audio_iso_new();
|
||||
iso = bt_bap_iso_new();
|
||||
if (!iso) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bt_audio_iso_init(iso, &ascs_iso_ops);
|
||||
bt_bap_iso_init(iso, &ascs_iso_ops);
|
||||
|
||||
return iso;
|
||||
}
|
||||
|
@ -1707,27 +1705,27 @@ static int ase_stream_qos(struct bt_bap_stream *stream, struct bt_codec_qos *qos
|
|||
|
||||
/* QoS->QoS transition. Unbind ISO if CIG/CIS changed. */
|
||||
if (ep->iso != NULL && (ep->cig_id != cig_id || ep->cis_id != cis_id)) {
|
||||
bt_audio_iso_unbind_ep(ep->iso, ep);
|
||||
bt_bap_iso_unbind_ep(ep->iso, ep);
|
||||
}
|
||||
|
||||
if (ep->iso == NULL) {
|
||||
struct bt_audio_iso *iso;
|
||||
struct bt_bap_iso *iso;
|
||||
|
||||
iso = audio_iso_get_or_new(ascs, cig_id, cis_id);
|
||||
iso = bap_iso_get_or_new(ascs, cig_id, cis_id);
|
||||
if (iso == NULL) {
|
||||
LOG_ERR("Could not allocate audio_iso");
|
||||
LOG_ERR("Could not allocate bap_iso");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
if (bt_audio_iso_get_ep(false, iso, ep->dir) != NULL) {
|
||||
if (bt_bap_iso_get_ep(false, iso, ep->dir) != NULL) {
|
||||
LOG_ERR("iso %p already in use in dir %s",
|
||||
&iso->chan, bt_audio_dir_str(ep->dir));
|
||||
bt_audio_iso_unref(iso);
|
||||
bt_bap_iso_unref(iso);
|
||||
return -EALREADY;
|
||||
}
|
||||
|
||||
bt_audio_iso_bind_ep(iso, ep);
|
||||
bt_audio_iso_unref(iso);
|
||||
bt_bap_iso_bind_ep(iso, ep);
|
||||
bt_bap_iso_unref(iso);
|
||||
}
|
||||
|
||||
stream->qos = qos;
|
||||
|
|
|
@ -113,7 +113,7 @@ static void broadcast_sink_set_ep_state(struct bt_bap_ep *ep, uint8_t state)
|
|||
struct bt_bap_stream *stream = ep->stream;
|
||||
|
||||
if (stream != NULL) {
|
||||
bt_audio_iso_unbind_ep(ep->iso, ep);
|
||||
bt_bap_iso_unbind_ep(ep->iso, ep);
|
||||
stream->ep = NULL;
|
||||
stream->codec = NULL;
|
||||
ep->stream = NULL;
|
||||
|
@ -125,7 +125,7 @@ static void broadcast_sink_iso_recv(struct bt_iso_chan *chan,
|
|||
const struct bt_iso_recv_info *info,
|
||||
struct net_buf *buf)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
const struct bt_bap_stream_ops *ops;
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep = iso->rx.ep;
|
||||
|
@ -156,7 +156,7 @@ static void broadcast_sink_iso_recv(struct bt_iso_chan *chan,
|
|||
|
||||
static void broadcast_sink_iso_connected(struct bt_iso_chan *chan)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
const struct bt_bap_stream_ops *ops;
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep = iso->rx.ep;
|
||||
|
@ -188,7 +188,7 @@ static void broadcast_sink_iso_connected(struct bt_iso_chan *chan)
|
|||
static void broadcast_sink_iso_disconnected(struct bt_iso_chan *chan,
|
||||
uint8_t reason)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
const struct bt_bap_stream_ops *ops;
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep = iso->rx.ep;
|
||||
|
@ -919,7 +919,7 @@ static int bt_bap_broadcast_sink_setup_stream(uint8_t index, struct bt_bap_strea
|
|||
struct bt_codec *codec)
|
||||
{
|
||||
static struct bt_codec_qos codec_qos;
|
||||
struct bt_audio_iso *iso;
|
||||
struct bt_bap_iso *iso;
|
||||
struct bt_bap_ep *ep;
|
||||
|
||||
if (stream->group != NULL) {
|
||||
|
@ -933,19 +933,19 @@ static int bt_bap_broadcast_sink_setup_stream(uint8_t index, struct bt_bap_strea
|
|||
return -ENOMEM;
|
||||
}
|
||||
|
||||
iso = bt_audio_iso_new();
|
||||
iso = bt_bap_iso_new();
|
||||
if (iso == NULL) {
|
||||
LOG_DBG("Could not allocate iso");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
bt_audio_iso_init(iso, &broadcast_sink_iso_ops);
|
||||
bt_audio_iso_bind_ep(iso, ep);
|
||||
bt_bap_iso_init(iso, &broadcast_sink_iso_ops);
|
||||
bt_bap_iso_bind_ep(iso, ep);
|
||||
|
||||
bt_audio_codec_qos_to_iso_qos(iso->chan.qos->rx, &codec_qos);
|
||||
bt_audio_codec_to_iso_path(iso->chan.qos->rx->path, codec);
|
||||
|
||||
bt_audio_iso_unref(iso);
|
||||
bt_bap_iso_unref(iso);
|
||||
|
||||
bt_bap_stream_attach(NULL, stream, ep, codec);
|
||||
stream->qos = &codec_qos;
|
||||
|
@ -959,7 +959,7 @@ static void broadcast_sink_cleanup_streams(struct bt_bap_broadcast_sink *sink)
|
|||
|
||||
SYS_SLIST_FOR_EACH_CONTAINER_SAFE(&sink->streams, stream, next, _node) {
|
||||
if (stream->ep != NULL) {
|
||||
bt_audio_iso_unbind_ep(stream->ep->iso, stream->ep);
|
||||
bt_bap_iso_unbind_ep(stream->ep->iso, stream->ep);
|
||||
stream->ep->stream = NULL;
|
||||
stream->ep = NULL;
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ static void broadcast_source_set_ep_state(struct bt_bap_ep *ep, uint8_t state)
|
|||
|
||||
static void broadcast_source_iso_sent(struct bt_iso_chan *chan)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
const struct bt_bap_stream_ops *ops;
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep = iso->tx.ep;
|
||||
|
@ -147,7 +147,7 @@ static void broadcast_source_iso_sent(struct bt_iso_chan *chan)
|
|||
|
||||
static void broadcast_source_iso_connected(struct bt_iso_chan *chan)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
const struct bt_bap_stream_ops *ops;
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep = iso->tx.ep;
|
||||
|
@ -178,7 +178,7 @@ static void broadcast_source_iso_connected(struct bt_iso_chan *chan)
|
|||
|
||||
static void broadcast_source_iso_disconnected(struct bt_iso_chan *chan, uint8_t reason)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
const struct bt_bap_stream_ops *ops;
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep = iso->tx.ep;
|
||||
|
@ -266,7 +266,7 @@ static int broadcast_source_setup_stream(uint8_t index, struct bt_bap_stream *st
|
|||
struct bt_codec *codec, struct bt_codec_qos *qos,
|
||||
struct bt_bap_broadcast_source *source)
|
||||
{
|
||||
struct bt_audio_iso *iso;
|
||||
struct bt_bap_iso *iso;
|
||||
struct bt_bap_ep *ep;
|
||||
|
||||
ep = broadcast_source_new_ep(index);
|
||||
|
@ -275,19 +275,19 @@ static int broadcast_source_setup_stream(uint8_t index, struct bt_bap_stream *st
|
|||
return -ENOMEM;
|
||||
}
|
||||
|
||||
iso = bt_audio_iso_new();
|
||||
iso = bt_bap_iso_new();
|
||||
if (iso == NULL) {
|
||||
LOG_DBG("Could not allocate iso");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
bt_audio_iso_init(iso, &broadcast_source_iso_ops);
|
||||
bt_audio_iso_bind_ep(iso, ep);
|
||||
bt_bap_iso_init(iso, &broadcast_source_iso_ops);
|
||||
bt_bap_iso_bind_ep(iso, ep);
|
||||
|
||||
bt_audio_codec_qos_to_iso_qos(iso->chan.qos->tx, qos);
|
||||
bt_audio_codec_to_iso_path(iso->chan.qos->tx->path, codec);
|
||||
|
||||
bt_audio_iso_unref(iso);
|
||||
bt_bap_iso_unref(iso);
|
||||
|
||||
bt_bap_stream_attach(NULL, stream, ep, codec);
|
||||
stream->qos = qos;
|
||||
|
@ -500,7 +500,7 @@ static void broadcast_source_cleanup(struct bt_bap_broadcast_source *source)
|
|||
|
||||
SYS_SLIST_FOR_EACH_CONTAINER_SAFE(&subgroup->streams, stream,
|
||||
next_stream, _node) {
|
||||
bt_audio_iso_unbind_ep(stream->ep->iso, stream->ep);
|
||||
bt_bap_iso_unbind_ep(stream->ep->iso, stream->ep);
|
||||
stream->ep->stream = NULL;
|
||||
stream->ep = NULL;
|
||||
stream->codec = NULL;
|
||||
|
|
|
@ -42,7 +42,7 @@ struct bt_bap_ep {
|
|||
struct bt_codec codec;
|
||||
struct bt_codec_qos qos;
|
||||
struct bt_codec_qos_pref qos_pref;
|
||||
struct bt_audio_iso *iso;
|
||||
struct bt_bap_iso *iso;
|
||||
|
||||
/* Used by the unicast server */
|
||||
bool receiver_ready;
|
||||
|
|
|
@ -13,16 +13,16 @@
|
|||
|
||||
#include <zephyr/logging/log.h>
|
||||
|
||||
LOG_MODULE_REGISTER(bt_audio_iso, CONFIG_BT_AUDIO_ISO_LOG_LEVEL);
|
||||
LOG_MODULE_REGISTER(bt_bap_iso, CONFIG_BT_BAP_ISO_LOG_LEVEL);
|
||||
|
||||
/* TODO: Optimize the ISO_POOL_SIZE */
|
||||
#define ISO_POOL_SIZE CONFIG_BT_ISO_MAX_CHAN
|
||||
|
||||
static struct bt_audio_iso iso_pool[ISO_POOL_SIZE];
|
||||
static struct bt_bap_iso iso_pool[ISO_POOL_SIZE];
|
||||
|
||||
struct bt_audio_iso *bt_audio_iso_new(void)
|
||||
struct bt_bap_iso *bt_bap_iso_new(void)
|
||||
{
|
||||
struct bt_audio_iso *iso = NULL;
|
||||
struct bt_bap_iso *iso = NULL;
|
||||
|
||||
for (size_t i = 0; i < ARRAY_SIZE(iso_pool); i++) {
|
||||
if (atomic_cas(&iso_pool[i].ref, 0, 1)) {
|
||||
|
@ -35,12 +35,12 @@ struct bt_audio_iso *bt_audio_iso_new(void)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
(void)memset(iso, 0, offsetof(struct bt_audio_iso, ref));
|
||||
(void)memset(iso, 0, offsetof(struct bt_bap_iso, ref));
|
||||
|
||||
return iso;
|
||||
}
|
||||
|
||||
struct bt_audio_iso *bt_audio_iso_ref(struct bt_audio_iso *iso)
|
||||
struct bt_bap_iso *bt_bap_iso_ref(struct bt_bap_iso *iso)
|
||||
{
|
||||
atomic_val_t old;
|
||||
|
||||
|
@ -62,7 +62,7 @@ struct bt_audio_iso *bt_audio_iso_ref(struct bt_audio_iso *iso)
|
|||
return iso;
|
||||
}
|
||||
|
||||
void bt_audio_iso_unref(struct bt_audio_iso *iso)
|
||||
void bt_bap_iso_unref(struct bt_bap_iso *iso)
|
||||
{
|
||||
atomic_val_t old;
|
||||
|
||||
|
@ -73,10 +73,10 @@ void bt_audio_iso_unref(struct bt_audio_iso *iso)
|
|||
__ASSERT(old > 0, "iso reference counter is 0");
|
||||
}
|
||||
|
||||
void bt_audio_iso_foreach(bt_audio_iso_func_t func, void *user_data)
|
||||
void bt_bap_iso_foreach(bt_bap_iso_func_t func, void *user_data)
|
||||
{
|
||||
for (size_t i = 0; i < ARRAY_SIZE(iso_pool); i++) {
|
||||
struct bt_audio_iso *iso = bt_audio_iso_ref(&iso_pool[i]);
|
||||
struct bt_bap_iso *iso = bt_bap_iso_ref(&iso_pool[i]);
|
||||
bool iter;
|
||||
|
||||
if (!iso) {
|
||||
|
@ -84,7 +84,7 @@ void bt_audio_iso_foreach(bt_audio_iso_func_t func, void *user_data)
|
|||
}
|
||||
|
||||
iter = func(iso, user_data);
|
||||
bt_audio_iso_unref(iso);
|
||||
bt_bap_iso_unref(iso);
|
||||
|
||||
if (!iter) {
|
||||
return;
|
||||
|
@ -92,40 +92,39 @@ void bt_audio_iso_foreach(bt_audio_iso_func_t func, void *user_data)
|
|||
}
|
||||
}
|
||||
|
||||
struct bt_audio_iso_find_param {
|
||||
struct bt_audio_iso *iso;
|
||||
bt_audio_iso_func_t func;
|
||||
struct bt_bap_iso_find_param {
|
||||
struct bt_bap_iso *iso;
|
||||
bt_bap_iso_func_t func;
|
||||
void *user_data;
|
||||
};
|
||||
|
||||
static bool bt_audio_iso_find_cb(struct bt_audio_iso *iso, void *user_data)
|
||||
static bool bt_bap_iso_find_cb(struct bt_bap_iso *iso, void *user_data)
|
||||
{
|
||||
struct bt_audio_iso_find_param *param = user_data;
|
||||
struct bt_bap_iso_find_param *param = user_data;
|
||||
bool found;
|
||||
|
||||
found = param->func(iso, param->user_data);
|
||||
if (found) {
|
||||
param->iso = bt_audio_iso_ref(iso);
|
||||
param->iso = bt_bap_iso_ref(iso);
|
||||
}
|
||||
|
||||
return !found;
|
||||
}
|
||||
|
||||
struct bt_audio_iso *bt_audio_iso_find(bt_audio_iso_func_t func,
|
||||
void *user_data)
|
||||
struct bt_bap_iso *bt_bap_iso_find(bt_bap_iso_func_t func, void *user_data)
|
||||
{
|
||||
struct bt_audio_iso_find_param param = {
|
||||
struct bt_bap_iso_find_param param = {
|
||||
.iso = NULL,
|
||||
.func = func,
|
||||
.user_data = user_data,
|
||||
};
|
||||
|
||||
bt_audio_iso_foreach(bt_audio_iso_find_cb, ¶m);
|
||||
bt_bap_iso_foreach(bt_bap_iso_find_cb, ¶m);
|
||||
|
||||
return param.iso;
|
||||
}
|
||||
|
||||
void bt_audio_iso_init(struct bt_audio_iso *iso, struct bt_iso_chan_ops *ops)
|
||||
void bt_bap_iso_init(struct bt_bap_iso *iso, struct bt_iso_chan_ops *ops)
|
||||
{
|
||||
iso->chan.ops = ops;
|
||||
iso->chan.qos = &iso->qos;
|
||||
|
@ -145,7 +144,7 @@ void bt_audio_iso_init(struct bt_audio_iso *iso, struct bt_iso_chan_ops *ops)
|
|||
iso->chan.qos->tx->path->cc = iso->tx.cc;
|
||||
}
|
||||
|
||||
void bt_audio_iso_bind_ep(struct bt_audio_iso *iso, struct bt_bap_ep *ep)
|
||||
void bt_bap_iso_bind_ep(struct bt_bap_iso *iso, struct bt_bap_ep *ep)
|
||||
{
|
||||
__ASSERT_NO_MSG(ep != NULL);
|
||||
__ASSERT_NO_MSG(iso != NULL);
|
||||
|
@ -178,10 +177,10 @@ void bt_audio_iso_bind_ep(struct bt_audio_iso *iso, struct bt_bap_ep *ep)
|
|||
}
|
||||
}
|
||||
|
||||
ep->iso = bt_audio_iso_ref(iso);
|
||||
ep->iso = bt_bap_iso_ref(iso);
|
||||
}
|
||||
|
||||
void bt_audio_iso_unbind_ep(struct bt_audio_iso *iso, struct bt_bap_ep *ep)
|
||||
void bt_bap_iso_unbind_ep(struct bt_bap_iso *iso, struct bt_bap_ep *ep)
|
||||
{
|
||||
__ASSERT_NO_MSG(ep != NULL);
|
||||
__ASSERT_NO_MSG(iso != NULL);
|
||||
|
@ -215,11 +214,11 @@ void bt_audio_iso_unbind_ep(struct bt_audio_iso *iso, struct bt_bap_ep *ep)
|
|||
}
|
||||
}
|
||||
|
||||
bt_audio_iso_unref(ep->iso);
|
||||
bt_bap_iso_unref(ep->iso);
|
||||
ep->iso = NULL;
|
||||
}
|
||||
|
||||
struct bt_bap_ep *bt_audio_iso_get_ep(bool unicast_client, struct bt_audio_iso *iso,
|
||||
struct bt_bap_ep *bt_bap_iso_get_ep(bool unicast_client, struct bt_bap_iso *iso,
|
||||
enum bt_audio_dir dir)
|
||||
{
|
||||
__ASSERT(dir == BT_AUDIO_DIR_SINK || dir == BT_AUDIO_DIR_SOURCE,
|
||||
|
@ -244,7 +243,7 @@ struct bt_bap_ep *bt_audio_iso_get_ep(bool unicast_client, struct bt_audio_iso *
|
|||
}
|
||||
}
|
||||
|
||||
struct bt_bap_ep *bt_audio_iso_get_paired_ep(const struct bt_bap_ep *ep)
|
||||
struct bt_bap_ep *bt_bap_iso_get_paired_ep(const struct bt_bap_ep *ep)
|
||||
{
|
||||
if (ep->iso->rx.ep == ep) {
|
||||
return ep->iso->tx.ep;
|
||||
|
@ -254,64 +253,57 @@ struct bt_bap_ep *bt_audio_iso_get_paired_ep(const struct bt_bap_ep *ep)
|
|||
}
|
||||
|
||||
#if defined(CONFIG_BT_BAP_UNICAST_CLIENT)
|
||||
void bt_audio_iso_bind_stream(struct bt_audio_iso *audio_iso, struct bt_bap_stream *stream)
|
||||
void bt_bap_iso_bind_stream(struct bt_bap_iso *bap_iso, struct bt_bap_stream *stream)
|
||||
{
|
||||
struct bt_audio_iso_dir *audio_iso_ep;
|
||||
struct bt_bap_iso_dir *bap_iso_ep;
|
||||
|
||||
__ASSERT_NO_MSG(stream != NULL);
|
||||
__ASSERT_NO_MSG(audio_iso != NULL);
|
||||
__ASSERT(stream->audio_iso == NULL,
|
||||
"stream %p bound with audio_iso %p already",
|
||||
stream, stream->audio_iso);
|
||||
__ASSERT_NO_MSG(bap_iso != NULL);
|
||||
__ASSERT(stream->bap_iso == NULL, "stream %p bound with bap_iso %p already", stream,
|
||||
stream->bap_iso);
|
||||
|
||||
LOG_DBG("audio_iso %p stream %p dir %s",
|
||||
audio_iso, stream, bt_audio_dir_str(stream->dir));
|
||||
LOG_DBG("bap_iso %p stream %p dir %s", bap_iso, stream, bt_audio_dir_str(stream->dir));
|
||||
|
||||
/* For the unicast client, the direction and tx/rx is reversed */
|
||||
if (stream->dir == BT_AUDIO_DIR_SOURCE) {
|
||||
audio_iso_ep = &audio_iso->rx;
|
||||
bap_iso_ep = &bap_iso->rx;
|
||||
} else {
|
||||
audio_iso_ep = &audio_iso->tx;
|
||||
bap_iso_ep = &bap_iso->tx;
|
||||
}
|
||||
|
||||
__ASSERT(audio_iso_ep->stream == NULL,
|
||||
"audio_iso %p bound with stream %p",
|
||||
audio_iso, audio_iso_ep->stream);
|
||||
audio_iso_ep->stream = stream;
|
||||
__ASSERT(bap_iso_ep->stream == NULL, "bap_iso %p bound with stream %p", bap_iso,
|
||||
bap_iso_ep->stream);
|
||||
bap_iso_ep->stream = stream;
|
||||
|
||||
stream->audio_iso = bt_audio_iso_ref(audio_iso);
|
||||
stream->bap_iso = bt_bap_iso_ref(bap_iso);
|
||||
}
|
||||
|
||||
void bt_audio_iso_unbind_stream(struct bt_audio_iso *audio_iso, struct bt_bap_stream *stream)
|
||||
void bt_bap_iso_unbind_stream(struct bt_bap_iso *bap_iso, struct bt_bap_stream *stream)
|
||||
{
|
||||
struct bt_audio_iso_dir *audio_iso_ep;
|
||||
struct bt_bap_iso_dir *bap_iso_ep;
|
||||
|
||||
__ASSERT_NO_MSG(stream != NULL);
|
||||
__ASSERT_NO_MSG(audio_iso != NULL);
|
||||
__ASSERT(stream->audio_iso != NULL,
|
||||
"stream %p not bound with an audio_iso",
|
||||
stream);
|
||||
__ASSERT_NO_MSG(bap_iso != NULL);
|
||||
__ASSERT(stream->bap_iso != NULL, "stream %p not bound with an bap_iso", stream);
|
||||
|
||||
LOG_DBG("audio_iso %p stream %p dir %s",
|
||||
audio_iso, stream, bt_audio_dir_str(stream->dir));
|
||||
LOG_DBG("bap_iso %p stream %p dir %s", bap_iso, stream, bt_audio_dir_str(stream->dir));
|
||||
|
||||
/* For the unicast client, the direction and tx/rx is reversed */
|
||||
if (stream->dir == BT_AUDIO_DIR_SOURCE) {
|
||||
audio_iso_ep = &audio_iso->rx;
|
||||
bap_iso_ep = &bap_iso->rx;
|
||||
} else {
|
||||
audio_iso_ep = &audio_iso->tx;
|
||||
bap_iso_ep = &bap_iso->tx;
|
||||
}
|
||||
|
||||
__ASSERT(audio_iso_ep->stream == stream,
|
||||
"audio_iso %p (%p) not bound with stream %p (%p)",
|
||||
audio_iso, audio_iso_ep->stream, stream, stream->audio_iso);
|
||||
audio_iso_ep->stream = NULL;
|
||||
__ASSERT(bap_iso_ep->stream == stream, "bap_iso %p (%p) not bound with stream %p (%p)",
|
||||
bap_iso, bap_iso_ep->stream, stream, stream->bap_iso);
|
||||
bap_iso_ep->stream = NULL;
|
||||
|
||||
bt_audio_iso_unref(audio_iso);
|
||||
stream->audio_iso = NULL;
|
||||
bt_bap_iso_unref(bap_iso);
|
||||
stream->bap_iso = NULL;
|
||||
}
|
||||
|
||||
struct bt_bap_stream *bt_audio_iso_get_stream(struct bt_audio_iso *iso, enum bt_audio_dir dir)
|
||||
struct bt_bap_stream *bt_bap_iso_get_stream(struct bt_bap_iso *iso, enum bt_audio_dir dir)
|
||||
{
|
||||
__ASSERT(dir == BT_AUDIO_DIR_SINK || dir == BT_AUDIO_DIR_SOURCE,
|
||||
"invalid dir: %u", dir);
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include <zephyr/bluetooth/audio/audio.h>
|
||||
#include <zephyr/bluetooth/audio/bap.h>
|
||||
|
||||
struct bt_audio_iso_dir {
|
||||
struct bt_bap_iso_dir {
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep;
|
||||
struct bt_iso_chan_path path;
|
||||
|
@ -19,12 +19,12 @@ struct bt_audio_iso_dir {
|
|||
uint8_t cc[CONFIG_BT_CODEC_MAX_DATA_COUNT * CONFIG_BT_CODEC_MAX_DATA_LEN];
|
||||
};
|
||||
|
||||
struct bt_audio_iso {
|
||||
struct bt_bap_iso {
|
||||
struct bt_iso_chan chan;
|
||||
struct bt_iso_chan_qos qos;
|
||||
|
||||
struct bt_audio_iso_dir rx;
|
||||
struct bt_audio_iso_dir tx;
|
||||
struct bt_bap_iso_dir rx;
|
||||
struct bt_bap_iso_dir tx;
|
||||
|
||||
/* Must be at the end so that everything else in the structure can be
|
||||
* memset to zero without affecting the ref.
|
||||
|
@ -32,22 +32,21 @@ struct bt_audio_iso {
|
|||
atomic_t ref;
|
||||
};
|
||||
|
||||
typedef bool (*bt_audio_iso_func_t)(struct bt_audio_iso *iso, void *user_data);
|
||||
typedef bool (*bt_bap_iso_func_t)(struct bt_bap_iso *iso, void *user_data);
|
||||
|
||||
struct bt_audio_iso *bt_audio_iso_new(void);
|
||||
struct bt_audio_iso *bt_audio_iso_ref(struct bt_audio_iso *iso);
|
||||
void bt_audio_iso_unref(struct bt_audio_iso *iso);
|
||||
void bt_audio_iso_foreach(bt_audio_iso_func_t func, void *user_data);
|
||||
struct bt_audio_iso *bt_audio_iso_find(bt_audio_iso_func_t func,
|
||||
void *user_data);
|
||||
void bt_audio_iso_init(struct bt_audio_iso *iso, struct bt_iso_chan_ops *ops);
|
||||
void bt_audio_iso_bind_ep(struct bt_audio_iso *iso, struct bt_bap_ep *ep);
|
||||
void bt_audio_iso_unbind_ep(struct bt_audio_iso *iso, struct bt_bap_ep *ep);
|
||||
struct bt_bap_ep *bt_audio_iso_get_ep(bool unicast_client, struct bt_audio_iso *iso,
|
||||
struct bt_bap_iso *bt_bap_iso_new(void);
|
||||
struct bt_bap_iso *bt_bap_iso_ref(struct bt_bap_iso *iso);
|
||||
void bt_bap_iso_unref(struct bt_bap_iso *iso);
|
||||
void bt_bap_iso_foreach(bt_bap_iso_func_t func, void *user_data);
|
||||
struct bt_bap_iso *bt_bap_iso_find(bt_bap_iso_func_t func, void *user_data);
|
||||
void bt_bap_iso_init(struct bt_bap_iso *iso, struct bt_iso_chan_ops *ops);
|
||||
void bt_bap_iso_bind_ep(struct bt_bap_iso *iso, struct bt_bap_ep *ep);
|
||||
void bt_bap_iso_unbind_ep(struct bt_bap_iso *iso, struct bt_bap_ep *ep);
|
||||
struct bt_bap_ep *bt_bap_iso_get_ep(bool unicast_client, struct bt_bap_iso *iso,
|
||||
enum bt_audio_dir dir);
|
||||
|
||||
struct bt_bap_ep *bt_audio_iso_get_paired_ep(const struct bt_bap_ep *ep);
|
||||
struct bt_bap_ep *bt_bap_iso_get_paired_ep(const struct bt_bap_ep *ep);
|
||||
/* Unicast client-only functions*/
|
||||
void bt_audio_iso_bind_stream(struct bt_audio_iso *audio_iso, struct bt_bap_stream *stream);
|
||||
void bt_audio_iso_unbind_stream(struct bt_audio_iso *audio_iso, struct bt_bap_stream *stream);
|
||||
struct bt_bap_stream *bt_audio_iso_get_stream(struct bt_audio_iso *iso, enum bt_audio_dir dir);
|
||||
void bt_bap_iso_bind_stream(struct bt_bap_iso *bap_iso, struct bt_bap_stream *stream);
|
||||
void bt_bap_iso_unbind_stream(struct bt_bap_iso *bap_iso, struct bt_bap_stream *stream);
|
||||
struct bt_bap_stream *bt_bap_iso_get_stream(struct bt_bap_iso *iso, enum bt_audio_dir dir);
|
||||
|
|
|
@ -251,7 +251,7 @@ void bt_bap_stream_reset(struct bt_bap_stream *stream)
|
|||
}
|
||||
|
||||
if (stream->ep != NULL && stream->ep->iso != NULL) {
|
||||
bt_audio_iso_unbind_ep(stream->ep->iso, stream->ep);
|
||||
bt_bap_iso_unbind_ep(stream->ep->iso, stream->ep);
|
||||
}
|
||||
|
||||
bt_bap_stream_detach(stream);
|
||||
|
|
|
@ -119,7 +119,7 @@ static bool unicast_client_can_disconnect_stream(const struct bt_bap_stream *str
|
|||
if (iso_state == BT_ISO_STATE_CONNECTED || iso_state == BT_ISO_STATE_CONNECTING) {
|
||||
const struct bt_bap_ep *pair_ep;
|
||||
|
||||
pair_ep = bt_audio_iso_get_paired_ep(stream_ep);
|
||||
pair_ep = bt_bap_iso_get_paired_ep(stream_ep);
|
||||
|
||||
/* If there are no paired endpoint, or the paired endpoint is
|
||||
* not in the streaming state, we can disconnect the CIS
|
||||
|
@ -135,7 +135,7 @@ static bool unicast_client_can_disconnect_stream(const struct bt_bap_stream *str
|
|||
static void unicast_client_ep_iso_recv(struct bt_iso_chan *chan,
|
||||
const struct bt_iso_recv_info *info, struct net_buf *buf)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
const struct bt_bap_stream_ops *ops;
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep = iso->rx.ep;
|
||||
|
@ -184,7 +184,7 @@ static void unicast_client_ep_iso_recv(struct bt_iso_chan *chan,
|
|||
|
||||
static void unicast_client_ep_iso_sent(struct bt_iso_chan *chan)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
struct bt_bap_stream *stream;
|
||||
struct bt_bap_ep *ep = iso->tx.ep;
|
||||
|
||||
|
@ -229,7 +229,7 @@ static void unicast_client_ep_iso_connected(struct bt_bap_ep *ep)
|
|||
|
||||
static void unicast_client_iso_connected(struct bt_iso_chan *chan)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
|
||||
if (iso->rx.ep == NULL && iso->tx.ep == NULL) {
|
||||
LOG_ERR("iso %p not bound with ep", chan);
|
||||
|
@ -274,7 +274,7 @@ static void unicast_client_ep_iso_disconnected(struct bt_bap_ep *ep, uint8_t rea
|
|||
|
||||
static void unicast_client_iso_disconnected(struct bt_iso_chan *chan, uint8_t reason)
|
||||
{
|
||||
struct bt_audio_iso *iso = CONTAINER_OF(chan, struct bt_audio_iso, chan);
|
||||
struct bt_bap_iso *iso = CONTAINER_OF(chan, struct bt_bap_iso, chan);
|
||||
|
||||
if (iso->rx.ep == NULL && iso->tx.ep == NULL) {
|
||||
LOG_ERR("iso %p not bound with ep", chan);
|
||||
|
@ -361,20 +361,20 @@ static struct bt_bap_ep *unicast_client_ep_find(struct bt_conn *conn, uint16_t h
|
|||
return NULL;
|
||||
}
|
||||
|
||||
struct bt_audio_iso *bt_bap_unicast_client_new_audio_iso(void)
|
||||
struct bt_bap_iso *bt_bap_unicast_client_new_audio_iso(void)
|
||||
{
|
||||
struct bt_audio_iso *audio_iso;
|
||||
struct bt_bap_iso *bap_iso;
|
||||
|
||||
audio_iso = bt_audio_iso_new();
|
||||
if (audio_iso == NULL) {
|
||||
bap_iso = bt_bap_iso_new();
|
||||
if (bap_iso == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bt_audio_iso_init(audio_iso, &unicast_client_iso_ops);
|
||||
bt_bap_iso_init(bap_iso, &unicast_client_iso_ops);
|
||||
|
||||
LOG_DBG("New audio_iso %p", audio_iso);
|
||||
LOG_DBG("New bap_iso %p", bap_iso);
|
||||
|
||||
return audio_iso;
|
||||
return bap_iso;
|
||||
}
|
||||
|
||||
static struct bt_bap_ep *unicast_client_ep_new(struct bt_conn *conn, enum bt_audio_dir dir,
|
||||
|
@ -467,7 +467,7 @@ static void unicast_client_ep_qos_update(struct bt_bap_ep *ep,
|
|||
{
|
||||
struct bt_iso_chan_io_qos *iso_io_qos;
|
||||
|
||||
LOG_DBG("ep %p dir %s audio_iso %p", ep, bt_audio_dir_str(ep->dir), ep->iso);
|
||||
LOG_DBG("ep %p dir %s bap_iso %p", ep, bt_audio_dir_str(ep->dir), ep->iso);
|
||||
|
||||
if (ep->dir == BT_AUDIO_DIR_SOURCE) {
|
||||
/* If the endpoint is a source, then we need to
|
||||
|
@ -1730,7 +1730,7 @@ static void audio_stream_qos_cleanup(const struct bt_conn *conn,
|
|||
continue;
|
||||
}
|
||||
|
||||
bt_audio_iso_unbind_ep(stream->ep->iso, stream->ep);
|
||||
bt_bap_iso_unbind_ep(stream->ep->iso, stream->ep);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1768,7 +1768,7 @@ static int unicast_client_stream_connect(struct bt_bap_stream *stream)
|
|||
}
|
||||
}
|
||||
|
||||
static int unicast_group_add_iso(struct bt_bap_unicast_group *group, struct bt_audio_iso *iso)
|
||||
static int unicast_group_add_iso(struct bt_bap_unicast_group *group, struct bt_bap_iso *iso)
|
||||
{
|
||||
struct bt_iso_chan **chan_slot = NULL;
|
||||
|
||||
|
@ -1796,7 +1796,7 @@ static int unicast_group_add_iso(struct bt_bap_unicast_group *group, struct bt_a
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void unicast_group_del_iso(struct bt_bap_unicast_group *group, struct bt_audio_iso *iso)
|
||||
static void unicast_group_del_iso(struct bt_bap_unicast_group *group, struct bt_bap_iso *iso)
|
||||
{
|
||||
struct bt_bap_stream *stream;
|
||||
|
||||
|
@ -1818,7 +1818,7 @@ static void unicast_group_del_iso(struct bt_bap_unicast_group *group, struct bt_
|
|||
}
|
||||
}
|
||||
|
||||
static void unicast_client_codec_qos_to_iso_qos(struct bt_audio_iso *iso,
|
||||
static void unicast_client_codec_qos_to_iso_qos(struct bt_bap_iso *iso,
|
||||
const struct bt_codec_qos *qos,
|
||||
enum bt_audio_dir dir)
|
||||
{
|
||||
|
@ -1830,7 +1830,7 @@ static void unicast_client_codec_qos_to_iso_qos(struct bt_audio_iso *iso,
|
|||
* configure our TX parameters
|
||||
*/
|
||||
io_qos = iso->chan.qos->tx;
|
||||
if (bt_audio_iso_get_ep(true, iso, BT_AUDIO_DIR_SOURCE) == NULL) {
|
||||
if (bt_bap_iso_get_ep(true, iso, BT_AUDIO_DIR_SOURCE) == NULL) {
|
||||
other_io_qos = iso->chan.qos->rx;
|
||||
} else {
|
||||
other_io_qos = NULL;
|
||||
|
@ -1840,7 +1840,7 @@ static void unicast_client_codec_qos_to_iso_qos(struct bt_audio_iso *iso,
|
|||
* configure our RX parameters
|
||||
*/
|
||||
io_qos = iso->chan.qos->rx;
|
||||
if (bt_audio_iso_get_ep(true, iso, BT_AUDIO_DIR_SINK) == NULL) {
|
||||
if (bt_bap_iso_get_ep(true, iso, BT_AUDIO_DIR_SINK) == NULL) {
|
||||
other_io_qos = iso->chan.qos->tx;
|
||||
} else {
|
||||
other_io_qos = NULL;
|
||||
|
@ -1859,7 +1859,7 @@ static void unicast_client_codec_qos_to_iso_qos(struct bt_audio_iso *iso,
|
|||
|
||||
static void unicast_group_add_stream(struct bt_bap_unicast_group *group,
|
||||
struct bt_bap_unicast_group_stream_param *param,
|
||||
struct bt_audio_iso *iso, enum bt_audio_dir dir)
|
||||
struct bt_bap_iso *iso, enum bt_audio_dir dir)
|
||||
{
|
||||
struct bt_bap_stream *stream = param->stream;
|
||||
struct bt_codec_qos *qos = param->qos;
|
||||
|
@ -1873,12 +1873,12 @@ static void unicast_group_add_stream(struct bt_bap_unicast_group *group,
|
|||
stream->group = group;
|
||||
|
||||
/* iso initialized already */
|
||||
bt_audio_iso_bind_stream(iso, stream);
|
||||
bt_bap_iso_bind_stream(iso, stream);
|
||||
if (stream->ep != NULL) {
|
||||
bt_audio_iso_bind_ep(iso, stream->ep);
|
||||
bt_bap_iso_bind_ep(iso, stream->ep);
|
||||
}
|
||||
|
||||
/* Store the Codec QoS in the audio_iso */
|
||||
/* Store the Codec QoS in the bap_iso */
|
||||
unicast_client_codec_qos_to_iso_qos(iso, qos, dir);
|
||||
|
||||
sys_slist_append(&group->streams, &stream->_node);
|
||||
|
@ -1887,7 +1887,7 @@ static void unicast_group_add_stream(struct bt_bap_unicast_group *group,
|
|||
static int unicast_group_add_stream_pair(struct bt_bap_unicast_group *group,
|
||||
struct bt_bap_unicast_group_stream_pair_param *param)
|
||||
{
|
||||
struct bt_audio_iso *iso;
|
||||
struct bt_bap_iso *iso;
|
||||
int err;
|
||||
|
||||
__ASSERT_NO_MSG(group != NULL);
|
||||
|
@ -1901,7 +1901,7 @@ static int unicast_group_add_stream_pair(struct bt_bap_unicast_group *group,
|
|||
|
||||
err = unicast_group_add_iso(group, iso);
|
||||
if (err < 0) {
|
||||
bt_audio_iso_unref(iso);
|
||||
bt_bap_iso_unref(iso);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -1913,7 +1913,7 @@ static int unicast_group_add_stream_pair(struct bt_bap_unicast_group *group,
|
|||
unicast_group_add_stream(group, param->tx_param, iso, BT_AUDIO_DIR_SINK);
|
||||
}
|
||||
|
||||
bt_audio_iso_unref(iso);
|
||||
bt_bap_iso_unref(iso);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1927,14 +1927,14 @@ static void unicast_group_del_stream(struct bt_bap_unicast_group *group,
|
|||
if (sys_slist_find_and_remove(&group->streams, &stream->_node)) {
|
||||
struct bt_bap_ep *ep = stream->ep;
|
||||
|
||||
if (stream->audio_iso != NULL) {
|
||||
bt_audio_iso_unbind_stream(stream->audio_iso, stream);
|
||||
if (stream->bap_iso != NULL) {
|
||||
bt_bap_iso_unbind_stream(stream->bap_iso, stream);
|
||||
}
|
||||
|
||||
if (ep != NULL && ep->iso != NULL) {
|
||||
unicast_group_del_iso(group, ep->iso);
|
||||
|
||||
bt_audio_iso_unbind_ep(ep->iso, ep);
|
||||
bt_bap_iso_unbind_ep(ep->iso, ep);
|
||||
}
|
||||
|
||||
stream->group = NULL;
|
||||
|
@ -1989,12 +1989,12 @@ static void unicast_group_free(struct bt_bap_unicast_group *group)
|
|||
struct bt_bap_ep *ep = stream->ep;
|
||||
|
||||
stream->group = NULL;
|
||||
if (stream->audio_iso != NULL) {
|
||||
bt_audio_iso_unbind_stream(stream->audio_iso, stream);
|
||||
if (stream->bap_iso != NULL) {
|
||||
bt_bap_iso_unbind_stream(stream->bap_iso, stream);
|
||||
}
|
||||
|
||||
if (ep != NULL && ep->iso != NULL) {
|
||||
bt_audio_iso_unbind_ep(ep->iso, ep);
|
||||
bt_bap_iso_unbind_ep(ep->iso, ep);
|
||||
}
|
||||
|
||||
sys_slist_remove(&group->streams, NULL, &stream->_node);
|
||||
|
@ -2351,11 +2351,11 @@ int bt_bap_unicast_client_qos(struct bt_conn *conn, struct bt_bap_unicast_group
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (stream->audio_iso == NULL) {
|
||||
if (stream->bap_iso == NULL) {
|
||||
/* This can only happen if the stream was somehow added
|
||||
* to a group without the audio_iso being bound to it
|
||||
* to a group without the bap_iso being bound to it
|
||||
*/
|
||||
LOG_ERR("Could not find audio_iso for stream %p", stream);
|
||||
LOG_ERR("Could not find bap_iso for stream %p", stream);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
@ -2381,8 +2381,8 @@ int bt_bap_unicast_client_qos(struct bt_conn *conn, struct bt_bap_unicast_group
|
|||
op->num_ases++;
|
||||
|
||||
if (stream->ep->iso == NULL) {
|
||||
/* Not yet bound with the audio_iso */
|
||||
bt_audio_iso_bind_ep(stream->audio_iso, stream->ep);
|
||||
/* Not yet bound with the bap_iso */
|
||||
bt_bap_iso_bind_ep(stream->bap_iso, stream->ep);
|
||||
}
|
||||
|
||||
err = bt_bap_unicast_client_ep_qos(stream->ep, buf, stream->qos);
|
||||
|
|
|
@ -32,4 +32,4 @@ int bt_bap_unicast_client_ep_qos(struct bt_bap_ep *ep, struct net_buf_simple *bu
|
|||
int bt_bap_unicast_client_ep_send(struct bt_conn *conn, struct bt_bap_ep *ep,
|
||||
struct net_buf_simple *buf);
|
||||
|
||||
struct bt_audio_iso *bt_bap_unicast_client_new_audio_iso(void);
|
||||
struct bt_bap_iso *bt_bap_unicast_client_new_audio_iso(void);
|
||||
|
|
|
@ -139,7 +139,7 @@ CONFIG_BT_BAP_BROADCAST_SOURCE_LOG_LEVEL_DBG=y
|
|||
CONFIG_BT_ASCS_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_PACS_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_BAP_STREAM_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_AUDIO_ISO_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_BAP_ISO_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_AUDIO_CODEC_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_BAP_SCAN_DELEGATOR_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_BAP_BROADCAST_ASSISTANT_LOG_LEVEL_DBG=y
|
||||
|
|
|
@ -167,6 +167,6 @@ CONFIG_BT_VOCS_CLIENT_LOG_LEVEL_DBG=y
|
|||
CONFIG_BT_AICS_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_VOCS_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_BAP_STREAM_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_AUDIO_ISO_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_BAP_ISO_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_AUDIO_CODEC_LOG_LEVEL_DBG=y
|
||||
CONFIG_BT_CSIP_SET_COORDINATOR_LOG_LEVEL_DBG=y
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue