diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index 88d1705..ee7c8bc 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
struct queue *snks;
struct queue *bcast;
struct queue *bcast_snks;
- struct queue *streams;
+ struct queue *server_streams;
GIOChannel *listen_io;
unsigned int io_id;
int selecting;
queue_destroy(data->snks, ep_unregister);
queue_destroy(data->srcs, ep_unregister);
queue_destroy(data->bcast, ep_unregister);
- queue_destroy(data->streams, NULL);
+ queue_destroy(data->server_streams, NULL);
queue_destroy(data->bcast_snks, setup_free);
bt_bap_ready_unregister(data->bap, data->ready_id);
bt_bap_state_unregister(data->bap, data->state_id);
DBG("ISO: incoming connect from %s (CIG 0x%02x CIS 0x%02x)",
address, qos.ucast.cig, qos.ucast.cis);
- stream = queue_remove_if(data->streams, match_stream_qos, &qos);
+ stream = queue_remove_if(data->server_streams, match_stream_qos, &qos);
if (!stream) {
error("No matching stream found");
goto drop;
DBG("stream %p", stream);
+ if (!data->server_streams)
+ data->server_streams = queue_new();
+
+ if (!queue_find(data->server_streams, NULL, stream))
+ queue_push_tail(data->server_streams, stream);
+
/* If IO already set skip creating it again */
if (bt_bap_stream_get_io(stream) || data->listen_io)
return;
DBG("setup %p stream %p defer %s", setup, stream,
defer ? "true" : "false");
- if (!data->streams)
- data->streams = queue_new();
-
- if (!queue_find(data->streams, NULL, stream))
- queue_push_tail(data->streams, stream);
-
switch (bt_bap_stream_get_type(stream)) {
case BT_BAP_STREAM_TYPE_UCAST:
setup_create_ucast_io(data, setup, stream, defer);
if (setup)
setup_free(setup);
else
- queue_remove(data->streams, stream);
+ queue_remove(data->server_streams, stream);
break;
case BT_BAP_STREAM_STATE_CONFIG:
if (setup && !setup->id) {
/* Release stream if idle */
if (setup)
setup_free(setup);
- else
- queue_remove(data->streams, stream);
break;
case BT_BAP_STREAM_STATE_CONFIG:
// TO DO Reconfiguration
/* Release stream if idle */
if (setup)
setup_free(setup);
- else
- queue_remove(data->streams, stream);
break;
case BT_BAP_STREAM_STATE_CONFIG:
if (!setup)