Message ID | 20240201152835.196617-1-silviu.barbulescu@nxp.com (mailing list archive) |
---|---|
Headers | show |
Series | Add support for multiple BISes on the bcast source | expand |
Hi Silviu, On Thu, Feb 1, 2024 at 10:28 AM Silviu Florian Barbulescu <silviu.barbulescu@nxp.com> wrote: > > 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 to be 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 configuration with BIG ID > 0xFF > > profiles/audio/bap.c | 239 ++++++++++++++++++++++++++++++++----------- > src/shared/bap.c | 67 ++++++++++-- > src/shared/bap.h | 2 + > 3 files changed, 238 insertions(+), 70 deletions(-) > > > base-commit: a692cc44dc8735b9303f8893f784306b4d2654fe > -- > 2.39.2 Not sure how you guys are testing these changes but currently I can't get Broadcast Sink to work, and it crashes on the the cleanup: https://gist.github.com/Vudentz/00a62914b0dc08261065cea65c0e04f0 So until we fix that I'm actually not merging new code on top, I'm also considering moving the driver out of bap plugin and perhaps have it as a standalone bcaa plugin since there have been quite a few occasions where broadcast code has caused regressions on unicast. Anyway Ive been working on the following fixes and I do appreciate some feedback: https://patchwork.kernel.org/project/bluetooth/patch/20240131173002.834951-1-luiz.dentz@gmail.com/ https://patchwork.kernel.org/project/bluetooth/list/?series=822175