Re: [EXT] Re: [PATCH BlueZ v2 0/6] Add support for BAP broadcast sink

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

 



Hi Silviu,

On Mon, Jul 24, 2023 at 8:26 AM Silviu Florian Barbulescu
<silviu.barbulescu@xxxxxxx> wrote:
>
> Hi Luiz,
>
> >Hi Claudia,
> >
> >On Wed, Jul 12, 2023 at 10:45 AM Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote:
> >>
> >> Hi Claudia,
> >>
> >> On Wed, Jul 12, 2023 at 5:46 AM Claudia Draghicescu
> >> <claudia.rosu@xxxxxxx> wrote:
> >> >
> >> > This series of patches adds support for BAP broadcast sink.
> >> > It consists in registering a sink endpoint using the Sink PAC UUID,
> >> > discovering of broadcast advertisers that announce the Broadcast
> >> > Audio Announcement service, synchronizes to the Periodic
> >> > advertisements of the source and synchronizes to the BIG advertised
> >> > in the PA train.
> >> > To retrieve the BASE info advertised in the PA train, the patch
> >> > Bluetooth: ISO: Add support for periodic adv reports processing was
> >> > used.
> >> >
> >> > This feature was tested using bluetoothctl with the following commands:
> >> >
> >> > [bluetooth]# endpoint.register 00002bc9-0000-1000-8000-00805f9b34fb
> >> > 0x06 [/local/endpoint/ep0] Auto Accept (yes/no): y
> >> > [/local/endpoint/ep0] Max Transports (auto/value): a
> >> > [/local/endpoint/ep0] unicast/broadcast (u/b): b
> >> > [/local/endpoint/ep0] BIG (auto/value): a [/local/endpoint/ep0] BIS
> >> > (auto/value): a
> >>
> >> Ive thought we would be using BAA UUID instead to follow the same
> >> setup as the broadcaster role.
>
> We think adding a new UUID for the broadcast sink (0x1851) along with the
> UUID for the broadcast source (0x1852) is the best choice because we need
> to differentiate the endpoint and transport in other applications like PipeWire.
> This follows the same procedure as for bap unicast where PAC_SOURCE_UUID
> and PAC_SINK_UUID are used to differentiate between BAP unicast source and sink
> endpoints and transports.

Sure,  I wasn't aware there was a broadcast sink UUID, anyway the
point is to have a similar flow for both Broadcast and Unicast.

> >>
> >> > [bluetooth]# scan on
> >>
> >> Then while scanning if we find an announcement it should create a
> >> remote endpoint under the device object path, just as in case of
> >> unicast, which can later be used with endpoint.config.
> >
> >I had a few more thoughts about how to enumerate the remote broadcast endpoints, we may want to introduce a driver for BAA UUID so when a device is found with BAA as part of the advertised
> >UUID would get probed and the driver can take care of creating the MediaEndpoint objects based of the advertised data, probably each BIS should have a endpoint,
> >
> >> > [bluetooth]# endpoint.config /org/bluez/hci0/pac_bcast0
> >> > /local/endpoint/ep0 16_2_1 <source_address>
> >>
> >> Here then one would replace /org/bluez/hci0/pac_bcast0 with the one
> >> found during the scanning, so the difference with broadcaster becomes
> >> the source endpoint, if you pass the adapter it is for broadcaster
> >> role or in case it is a remote endpoint the it is for listener role so
> >> the commands would work similarly in all directions
> >>
> >> > Claudia Draghicescu (6):
> >> >   client/player: Add broadcast sink endpoint registration and
> >> >     configuration.
> >> >   client/main: Add broadcast source discovery
> >> >   media: Add support for a broadcast sink media endpoint
> >> >   transport: Update transport properties for a broadcast stream
> >> >   btio: Add support for getsockopt(BT_ISO_BASE)
> >> >   bap: Add gdbus interface for BAP broadcast sink, create
> >> >     synchronization with source and create BAP broadcast sink stream
> >> >
> >> >  btio/btio.c                |  13 +-
> >> >  client/main.c              |  57 +++++-
> >> >  client/player.c            | 187 +++++++++++++++++++-
> >> >  client/player.h            |   3 +
> >> >  profiles/audio/bap.c       | 347 ++++++++++++++++++++++++++++++++++---
> >> >  profiles/audio/media.c     |  35 +++-
> >> >  profiles/audio/media.h     |   2 +-
> >> >  profiles/audio/transport.c | 244 +++++++++++++++++++++++++-
> >> >  src/shared/bap.c           |  50 +++++-
> >> >  src/shared/bap.h           |   4 +-
> >> >  10 files changed, 888 insertions(+), 54 deletions(-)
> >> >
> >> >
> >> > base-commit: 838e1578072900d1f98dfb31cc538940d2fad876
> >> > --
> >> > 2.34.1
> >> >
> >>
> >>
> >> --
> >> Luiz Augusto von Dentz
> >
> >
> >
> >--
> >Luiz Augusto von Dentz



-- 
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