mbox series

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

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

Message

Vlad Pruteanu July 31, 2024, 6:17 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(-)

Comments

Luiz Augusto von Dentz July 31, 2024, 4:22 p.m. UTC | #1
Hi Pauli,

On Wed, Jul 31, 2024 at 2:17 AM Vlad Pruteanu <vlad.pruteanu@nxp.com> wrote:
>
> 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(-)
>
> --
> 2.40.1

I'm planning to apply this set later today, let me know if you have
any objections.
patchwork-bot+bluetooth@kernel.org Aug. 1, 2024, 9:20 a.m. UTC | #2
Hello:

This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Wed, 31 Jul 2024 09:17:05 +0300 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [BlueZ,v5,1/8] doc/media: Add 'broadcasting' state and 'Select' method
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=d7b7f3a39562
  - [BlueZ,v5,2/8] transport: Add 'broadcasting' state
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=9357edb87bb9
  - [BlueZ,v5,3/8] transport: Add 'Select' method
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=083d1a7b66b5
  - [BlueZ,v5,4/8] client/player: Expose transport 'Select' method to the user
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=61e16e3b8317
  - [BlueZ,v5,5/8] transport: Broadcast sink: wait for user to select transport
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=53a4078cb350
  - [BlueZ,v5,6/8] doc/media: Add 'Unselect' method
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=c7e79fa8bfff
  - [BlueZ,v5,7/8] transport: Add 'Unselect' method
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=6ee75c3ec383
  - [BlueZ,v5,8/8] client/player: Expose transport 'Unselect' method to the user
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=827416638289

You are awesome, thank you!