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_bcast1 /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_bcast1/fd1 ..... transport.release /org/bluez/hci0/pac_bcast0/fd0 transport.release /org/bluez/hci0/pac_bcast1/fd1 Silviu Florian Barbulescu (7): bap: Remove set lpac user data at bcast ep register shared/bap: Add support to create multiple streams for the same pac bap: Create a new endpoint available for the next BIS configuration bap: Split bap_state and bap_connecting in two functions shared/bap: Check the state of all the streams with the same BIG ID bap: Set the generated BASE on all setups from the same BIG shared/bap: Generate single BIS BASE for a config with BIG ID 0xFF profiles/audio/bap.c | 318 +++++++++++++++++++++++++++++++++++-------- src/shared/bap.c | 78 +++++++++-- src/shared/bap.h | 2 + 3 files changed, 330 insertions(+), 68 deletions(-) base-commit: c1851987ca2c6e41d1e0e166e959b754e369c254 -- 2.39.2