[pulseaudio-discuss] [RFCv2 00/17] Add support for Bluetooth HFP HF implemented in oFono
jprvita at gmail.com
jprvita at gmail.com
Mon Apr 15 14:53:15 PDT 2013
From: João Paulo Rechi Vita <jprvita at openbossa.org>
The Hansfree Unit (HF) role of the Bluetooth Handsfree Profile (HFP) is used
when we want to work as a Hands-free unit to control audio calls performed by
an Audio Gateway (AG), usually 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 HF role of HFP version 1.6. One of the
new features on version 1.6 is wideband speech, with delivers higher audio
quality when compared to non-wideband-speech streams.
This series makes use of Mikel Astiz' work to add BlueZ 5 support to the
bluetooth modules. It has been based on top of Mikel's work rebased on top of
the 'next' branch.
The last two commits of the series add support for the mSBC CODEC, which is
what is needed for wideband speech support. The series is funcional without
them, just the wideband speech support will be disabled (it's an optional
feature in the HFP 1.6 spec).
Changes from the previous series are:
- Create one card profile per UUID, as it is now upstream;
- Do not create a new card profile 'hfp_ag';
- Handle SCO sockets with deferred setup;
- Handle mSBC-encoded streams, adding support for wideband speech.
João Paulo Rechi Vita (17):
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: Create a pa_bluetooth_transport for each HF card
bluetooth: Track org.ofono.HandsfreeAudioManager.CardAdded
bluetooth: Track org.ofono.HandsfreeAudioManager.CardRemoved
bluetooth: Create API to get BlueZ version
bluetooth: Implement Handsfree Audio Agent NewConnection()
bluetooth: Only call *Acquire() if using BlueZ' Media API
bluetooth: Suspend sink/source on HFP's stream HUP
bluetooth: Do the socket defered setup
bluetooth: Handle mSBC-encoded streams for HFP
bluetooth: Postpone sink and source creation for BlueZ 5 HFP
src/modules/bluetooth/bluetooth-util.c | 455 +++++++++++++++++++++++-
src/modules/bluetooth/bluetooth-util.h | 11 +
src/modules/bluetooth/module-bluetooth-device.c | 372 ++++++++++++++++++-
3 files changed, 813 insertions(+), 25 deletions(-)
--
1.7.11.7
More information about the pulseaudio-discuss
mailing list