diff mbox series

[BlueZ,7/7] shared/bap: Generate single BIS BASE for a configuration with BIG ID 0xFF

Message ID 20240201152835.196617-8-silviu.barbulescu@nxp.com
State Superseded
Headers show
Series Add support for multiple BISes on the bcast source | expand

Commit Message

Silviu Florian Barbulescu Feb. 1, 2024, 3:28 p.m. UTC
If the BIG ID was explicitly set, create a BASE with information
from all streams belonging to this BIG. Otherwise, create a BASE
with only this BIS.

---
 src/shared/bap.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/src/shared/bap.c b/src/shared/bap.c
index 244bd8c4e..c144d4b3b 100644
--- a/src/shared/bap.c
+++ b/src/shared/bap.c
@@ -5872,11 +5872,16 @@  struct iovec *bt_bap_stream_get_base(struct bt_bap_stream *stream)
 	base.next_bis_index = 1;
 	base.big_id = stream->qos.bcast.big;
 
-	/*
-	 * Create subgroups with each different Metadata and Codec
-	 * Specific Configuration from all streams having the same BIG ID.
+	/* If the BIG ID was explicitly set, create a BASE with information
+	 * from all streams belonging to this BIG. Otherwise, create a BASE
+	 * with only this BIS.
 	 */
-	queue_foreach(stream->bap->streams, set_base_subgroup, &base);
+	if (stream->qos.bcast.big != 0xFF)
+		queue_foreach(stream->bap->streams, set_base_subgroup, &base);
+	else {
+		base.pres_delay = stream->qos.bcast.delay;
+		set_base_subgroup(stream, &base);
+	}
 
 	base_iov = generate_base(&base);