mbox series

[v2,0/2] Add support for multiple BISes

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

Message

Silviu Florian Barbulescu Jan. 5, 2024, 2:33 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 (2):
  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            |  301 ++++++---
 profiles/audio/bap.c       | 1273 ++++++++++++++++++++++++++++++------
 profiles/audio/transport.c |   25 +-
 src/shared/bap.c           |  441 ++++++++++++-
 src/shared/bap.h           |   36 +-
 5 files changed, 1744 insertions(+), 332 deletions(-)


base-commit: 1c321baca7815cd7727eff89b2307d27d328fdbe