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