Re: [PATCH BlueZ 0/7] Add support for multiple BISes on the bcast source

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Silviu,

On Thu, Feb 1, 2024 at 10:28 AM Silviu Florian Barbulescu
<silviu.barbulescu@xxxxxxx> 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@xxxxxxxxx/
https://patchwork.kernel.org/project/bluetooth/list/?series=822175

-- 
Luiz Augusto von Dentz





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux