All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pauli Virtanen <pav@iki.fi>
To: linux-bluetooth@vger.kernel.org
Cc: Pauli Virtanen <pav@iki.fi>
Subject: [PATCH BlueZ v3 00/10] BAP stream reconfiguration
Date: Mon,  9 Jun 2025 00:32:12 +0300	[thread overview]
Message-ID: <cover.1749418319.git.pav@iki.fi> (raw)

Implement ClearConfiguration() and Reconfigure() for BAP unicast
MediaEndpoints.

v3:

- Add bt_bap_stream_lock(), instead of bt_bap_stream_discard()

- Separate commit for "detach on RELEASING"

- Move "bap: do not try QoS before links are updated" first,
  as it makes sense standalone

- Add "bap: don't show error when releasing stream"

- Add "bap: delay QoS & IO creation if CIG is busy or setups configuring"

  This reworks the unicast stream creation/QoS/CIG activation logic, to
  avoid doing operations that are impossible due to CIG state machine
  rules, or lead to ID conflicts.

Unicast tested manually on:

- Sony Linkbuds S: switching between AC 6(ii), 8(ii), 11(ii)
- Earfun Air Pro 3: switching between AC 6(i), 11(i)

with corresponding Pipewire branch
https://gitlab.freedesktop.org/pvir/pipewire/-/commits/bap-codec-switch-select

Some more testing is probably warranted.

Broadcast has not been tested.

Pauli Virtanen (10):
  bap: do not try QoS before links are updated & io created
  shared/bap: detach ucast io on RELEASING and unlink streams
  shared/bap: add client ASE reuse and upper level stream locking
  bap: lock streams when used
  bap: add ready callback for setup configuration
  bap: support removing streams with ClearConfiguration()
  bap: add callback at the end of ucast client select/config
  bap: implement Reconfigure()
  bap: don't show error when releasing stream
  bap: delay QoS & IO creation if CIG is busy or setups configuring

 profiles/audio/bap.c       | 1085 ++++++++++++++++++++++++++++--------
 profiles/audio/transport.c |   20 +-
 profiles/audio/transport.h |    1 +
 src/shared/bap.c           |  168 ++++--
 src/shared/bap.h           |    3 +
 5 files changed, 1005 insertions(+), 272 deletions(-)

-- 
2.49.0


             reply	other threads:[~2025-06-08 21:32 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-08 21:32 Pauli Virtanen [this message]
2025-06-08 21:32 ` [PATCH BlueZ v3 01/10] bap: do not try QoS before links are updated & io created Pauli Virtanen
2025-06-08 22:55   ` BAP stream reconfiguration bluez.test.bot
2025-06-08 21:32 ` [PATCH BlueZ v3 02/10] shared/bap: detach ucast io on RELEASING and unlink streams Pauli Virtanen
2025-06-08 21:32 ` [PATCH BlueZ v3 03/10] shared/bap: add client ASE reuse and upper level stream locking Pauli Virtanen
2025-06-08 21:32 ` [PATCH BlueZ v3 04/10] bap: lock streams when used Pauli Virtanen
2025-06-08 21:32 ` [PATCH BlueZ v3 05/10] bap: add ready callback for setup configuration Pauli Virtanen
2025-06-08 21:32 ` [PATCH BlueZ v3 06/10] bap: support removing streams with ClearConfiguration() Pauli Virtanen
2025-06-08 21:32 ` [PATCH BlueZ v3 07/10] bap: add callback at the end of ucast client select/config Pauli Virtanen
2025-06-08 21:32 ` [PATCH BlueZ v3 08/10] bap: implement Reconfigure() Pauli Virtanen
2025-06-08 21:32 ` [PATCH BlueZ v3 09/10] bap: don't show error when releasing stream Pauli Virtanen
2025-06-08 21:32 ` [PATCH BlueZ v3 10/10] bap: delay QoS & IO creation if CIG is busy or setups configuring Pauli Virtanen
2025-06-09 19:05 ` [PATCH BlueZ v3 00/10] BAP stream reconfiguration patchwork-bot+bluetooth
2025-06-09 19:16   ` Luiz Augusto von Dentz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1749418319.git.pav@iki.fi \
    --to=pav@iki.fi \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.