This patch adds support for multiple BISes in broadcast sources. Example commands: Create a local endpoint and an endpoint for BIS1: endpoint.register 00001852-0000-1000-8000-00805f9b34fb 0x06 [/local/endpoint/ep0] Auto Accept (yes/no): y [/local/endpoint/ep0] Max Transports (auto/value): a [/local/endpoint/ep0] Locations: 0x03 [/local/endpoint/ep0] Supported Context (value): 0 Configure BIS1, create BIS1 transport and endpoint for BIS2: endpoint.config /org/bluez/hci0/pac_bcast0 /local/endpoint/ep0 48_4_1 [/local/endpoint/ep0] BIG (auto/value): 0x01 [/local/endpoint/ep0] Enter channel location (value/no): 0x01 [/local/endpoint/ep0] Enter Metadata (value/no): n Configure BIS2, create BIS2 transport and endpoint for BIS3: endpoint.config /org/bluez/hci0/pac_bcast0 /local/endpoint/ep0 48_4_1 [/local/endpoint/ep0] BIG (auto/value): 0x01 [/local/endpoint/ep0] Enter channel location (value/no): 0x02 [/local/endpoint/ep0] Enter Metadata (value/no): n For multiple BISes acquire must be called on all transports before the BIG is created: transport.acquire /org/bluez/hci0/pac_bcast0/fd0 transport.acquire /org/bluez/hci0/pac_bcast0/fd1 ..... transport.release /org/bluez/hci0/pac_bcast0/fd0 transport.release /org/bluez/hci0/pac_bcast0/fd1 Silviu Florian Barbulescu (7): bap: Remove set lpac user data at bcast ep register bap: Split bap_state and bap_connecting in two functions shared/bap: Generate single BIS BASE for a config with BIG ID 0xFF shared/bap: Add state in the stream struct for broadcast source shared/bap: Check the state of all the streams with the same BIG ID shared/bap: Add support to create a stream for broadcast source bap: Set the generated BASE on all setups from the same BIG profiles/audio/bap.c | 307 ++++++++++++++++++++++++++++++++++--------- src/shared/bap.c | 87 +++++++++--- src/shared/bap.h | 2 + 3 files changed, 314 insertions(+), 82 deletions(-) base-commit: ee880bee85864b0e691370197c9de8d2f7ba0af2 -- 2.39.2