From: Jo?o Paulo Rechi Vita <jprvita@xxxxxxxxxxxxx> 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