[pulseaudio-discuss] [RFC 00/24] Add support for Bluetooth HFP Handsfree Unit implemented in oFono
jprvita at gmail.com
jprvita at gmail.com
Tue Mar 26 22:16:39 PDT 2013
From: João Paulo Rechi Vita <jprvita at openbossa.org>
The Bluetooth Handsfree Profile (HFP), role Hansfree (HF), is used when we want
to work as a Hands-free unit to control audio calls performed by an Audio
Gateway (AG), generally a cellular phone.
After the release of BlueZ 5, which added support for external profiles, the
HFP implementation has been moved out of BlueZ and implemented in oFono. A new
D-Bus API has been defined to enable the IPC between oFono's Handsfree Audio
Manager, which takes care of the Bluetooth HFP modems, and a Handsfree Audio
Agent, which in our particular case is PulseAudio.
This series implements support for the HFP HF role in the card representing the
Bluetooth device through a new card profile, "Handsfree Audio Gateway", which
is the name of the role performed by the remote device.
At the moment HFP up to 1.6 is supported, but without wideband speech. Wideband
speech support work is in progress. Also, this series works with kernels < 3.8,
since handling of defer setup of SCO sockets is also a WIP.
This series is based on top of Mikel Astiz' work to add BlueZ 5 support to the
bluetooth modules.
João Paulo Rechi Vita (24):
bluetooth: Remove unnecessary braces
bluetooth: Fix identation
bluetooth: Improve code readability
bluetooth: Track org.ofono service
bluetooth: Register Handsfree Audio Agent object path on the bus
bluetooth: Register Handsfree Audio Agent with oFono
bluetooth: Unregister Handsfree Audio Agent with oFono
bluetooth: Implement Handsfree Audio Agent Release()
bluetooth: List HF cards from oFono
bluetooth: Parse HF cards properties
bluetooth: Add new profile type PROFILE_HFP_AG
bluetooth: Create a pa_bluetooth_transport for each HF card
bluetooth: Track org.ofono.HandsfreeAudioManager.CardAdded
bluetooth: Track org.ofono.HandsfreeAudioManager.CardRemoved
bluetooth: Do not track new UUIDs
bluetooth: Create card profiles based on transport
bluetooth: Create card profile for PROFILE_HFP_AG
bluetooth: Configure transport for PROFILE_HFP_AG
bluetooth: Create sink and source for PROFILE_HFP_AG
bluetooth: Implement Handsfree Audio Agent NewConnection()
bluetooth: Fix stream setup for PROFILE_HFP_AG
bluetooth: Make the I/O thread aware of PROFILE_HFP_AG
bluetooth: Suspend source and sink for PROFILE_HFP_AG
bluetooth: Load module-loopback for hfp_ag
src/modules/bluetooth/bluetooth-util.c | 480 ++++++++++++++++++++++--
src/modules/bluetooth/bluetooth-util.h | 2 +-
src/modules/bluetooth/module-bluetooth-device.c | 141 +++----
src/modules/bluetooth/module-bluetooth-policy.c | 4 +
4 files changed, 530 insertions(+), 97 deletions(-)
--
1.7.11.7
More information about the pulseaudio-discuss
mailing list