From: "Frédéric Danis" <frederic.danis@collabora.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ v2 00/12] hfp-hf: Enhance HFP Hands-Free profile support
Date: Thu, 1 Oct 2026 23:10:24 +0200 [thread overview]
Message-ID: <20261001211036.1760396-1-frederic.danis@collabora.com> (raw)
This series enhanced the HFP Hands-Free (HF) role support in BlueZ:
- Registration:
- Register the HFP HF profile with an SDP record so BlueZ is
discoverable/connectable as a Hands-Free device.
- Audio path:
- Register a MediaEndpoint1 per supported HFP codec and wire up
MediaTransport creation/configuration so SCO audio is exposed
through the standard Media API instead of a bespoke interface.
- Extend bluetoothctl (client/player) with matching menu entries
to select/manage the HFP HF MediaEndpoints.
- Codec negotiation:
- Implement AT+BAC / +BCS handling in shared/hfp so the supported
codec list is advertised during SLC setup and codec selection
from the AG is honored (or renegotiated when unavailable).
- Multi-call handling:
- Implement SwapCalls, ReleaseAndAnswer, ReleaseAndSwap and
HoldAndAnswer on org.bluez.Telephony1, plus corresponding
bluetoothctl menu entries.
- Add support for releasing all calls except waiting ones
(including multiparty calls), both in shared/hfp and audio/hfp-hf.
- DTMF:
- Add AT+VTS-based Send Tones support in shared/hfp and audio/hfp-hf,
with a bluetoothctl menu entry to trigger it.
New related PipeWire BlueZ backend draft can be found at:
https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2978
v1->v2: Fix make distcheck
Frédéric Danis (12):
audio/hfp-hf: Add HFP HF server and SDP record
audio/hfp-hf: Add MediaEndpoint for HFP codecs
client/player: Add MediaEndpoints for HFP HF codecs
shared/hfp: Add hangup all calls support
audio/hfp-hf: Add hangup all calls support
shared/hfp: Add send tones support
audio/hfp-hf: Add Send Tones support
client/telephony: Add Send Tones menu entry
audio/hfp-hf: Add multi calls support
client/telephony: Add multi calls support
shared/hfp: Add codecs support
audio/hfp-hf: Add codecs support
Makefile.plugins | 6 +-
client/player.c | 18 +-
client/telephony.c | 237 +++++++++
profiles/audio/hfp-hf.c | 979 +++++++++++++++++++++++++++++++++++++
profiles/audio/hfp-hf.h | 26 +
profiles/audio/media.c | 76 +++
profiles/audio/media.h | 6 +
profiles/audio/transport.c | 158 ++++++
src/shared/hfp.c | 229 ++++++++-
src/shared/hfp.h | 13 +
10 files changed, 1740 insertions(+), 8 deletions(-)
create mode 100644 profiles/audio/hfp-hf.h
--
2.43.0
next reply other threads:[~2026-10-01 21:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-01 21:10 Frédéric Danis [this message]
2026-10-01 21:10 ` [PATCH BlueZ v2 01/12] audio/hfp-hf: Add HFP HF server and SDP record Frédéric Danis
2026-10-02 0:53 ` hfp-hf: Enhance HFP Hands-Free profile support bluez.test.bot
2026-10-01 21:10 ` [PATCH BlueZ v2 02/12] audio/hfp-hf: Add MediaEndpoint for HFP codecs Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 03/12] client/player: Add MediaEndpoints for HFP HF codecs Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 04/12] shared/hfp: Add hangup all calls support Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 05/12] audio/hfp-hf: " Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 06/12] shared/hfp: Add send tones support Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 07/12] audio/hfp-hf: Add Send Tones support Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 08/12] client/telephony: Add Send Tones menu entry Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 09/12] audio/hfp-hf: Add multi calls support Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 10/12] client/telephony: " Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 11/12] shared/hfp: Add codecs support Frédéric Danis
2026-10-01 21:10 ` [PATCH BlueZ v2 12/12] audio/hfp-hf: " Frédéric Danis
2026-10-05 20:20 ` [PATCH BlueZ v2 00/12] hfp-hf: Enhance HFP Hands-Free profile support patchwork-bot+bluetooth
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=20261001211036.1760396-1-frederic.danis@collabora.com \
--to=frederic.danis@collabora.com \
--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.