mbox series

[v4,0/3] Add support for multiple BISes

Message ID 20240110161100.106191-1-silviu.barbulescu@nxp.com
Headers show
Series Add support for multiple BISes | expand

Message

Silviu Florian Barbulescu Jan. 10, 2024, 4:10 p.m. UTC
This patch adds support for broadcasting multiple BIes and broadcast
source BASE generation in Bluez.
To start a broadcast source:
endpoint.register 00001852-0000-1000-8000-00805f9b34fb 0x06
configure multiple BISes with endpoint.config command on each
newly created endpoint
endpoint.config /org/bluez/hci0/pac_bcast0 /local/endpoint/ep0 24_2_1
endpoint.config /org/bluez/hci0/pac_bcast1 /local/endpoint/ep0 16_2_1
each endpoint.config command will create a new transport for that BIS

Use transport.acquired command on each created transport
to start the source
transport.acquire /org/bluez/hci0/pac_bcast0/fd0 
transport.acquire /org/bluez/hci0/pac_bcast1/fd1

Use transport.send command to send data on each BIS

To sink to a source on a broadcast sink:
endpoint.register 00001851-0000-1000-8000-00805f9b34fb 0x06
Use the scan command to scan for broadcast sources
When a broadcast source is found will automatically read
the BASE of the source.
For each BIS that meats the sink requirements will create an endpoint
Endpoint /org/bluez/hci0/dev_37_8A_1F_26_A1_0F/pac_bcast0 
Endpoint /org/bluez/hci0/dev_37_8A_1F_26_A1_0F/pac_bcast1

To sink with one BIS use the
 endpoint.config /org/bluez/hci0/dev_37_8A_1F_26_A1_0F/pac_bcast0
/local/endpoint/ep0 preset

Silviu Florian Barbulescu (3):
  client/player.c: Remove hardcoded base and QoS for broadcast and use
    presets instead. Remove BIG, BIS, and context from the register
    endpoint command for Broadcast. Add Location and Metadata support
    for endpoint config for broadcast source.
  bap.c: Add support for multiple BISes. Update broadcast to support the
    new setup structure. Change broadcast code from iovec struct to byte
    array. Add adapter property for broadcast endpoint. Make broadcast
    sink to select broadcast source BISes based on pac broadcast sink
    properties.
  client/player.c:Adjust the SDU size based on the number of locations
    for broadcast BISes

 client/player.c            | 309 ++++++++----
 profiles/audio/bap.c       | 850 ++++++++++++++++++++++++--------
 profiles/audio/transport.c |  25 +-
 src/shared/bap.c           | 958 +++++++++++++++++++++++++++++++++++--
 src/shared/bap.h           |  42 +-
 5 files changed, 1847 insertions(+), 337 deletions(-)


base-commit: c85546cba715afee020e61bd0a44499e618d0371