mbox series

[BlueZ,v3,0/8] Add 'broadcasting' state

Message ID 20240730105313.403238-1-vlad.pruteanu@nxp.com (mailing list archive)
Headers show
Series Add 'broadcasting' state | expand

Message

Vlad Pruteanu July 30, 2024, 10:53 a.m. UTC
This series adds a new 'broadcasting' state for transports created by
the Broadcast Sink device as a result of scanning a Broadcast Source.
Such transports will remain  in the 'idle' state until the user
selects them, at which point they will be moved to 'broadcasting'.
PipeWire detects these transports and automatically acquires them.

The transport selection is done using the 'transport.select' method,
that this series implements. This allows the user to select the desired
stream when running the setup with PipeWire since it acquires any
transport that is broadcasting.

Termination of the sync to a BIS is done using the 'transport.unselect'
method, that also involves a 2 step process. The first step is the call
to this method, which changes the transport's state to idle, with the
second step being done by the audio server which detects this change
and releases the transport.

Vlad Pruteanu (8):
  doc/media: Add 'broadcasting' state and 'select' method
  transport: Add 'broadcasting' state
  transport: Add "select" method
  client/player: Expose transport "select" method to the user
  transport: Broadcast sink: wait for user to select transport
  doc/media: Add 'unselect' method
  transport: Add "unselect" method
  client/player: Expose transport "unselect" method to the user

 client/player.c                  | 100 +++++++++++++++++++++++++++++++
 doc/org.bluez.MediaTransport.rst |  31 +++++++++-
 profiles/audio/transport.c       |  90 ++++++++++++++++++++++++----
 3 files changed, 207 insertions(+), 14 deletions(-)