[pulseaudio-discuss] [PATCH v0 00/11] Bluetooth: Late UUID support
mikel.astiz.oss at gmail.com
Mon Oct 22 01:46:32 PDT 2012
From: Mikel Astiz <mikel.astiz at bmw-carit.de>
module-bluetooth-device creates a card profile for each bluetooth profile (UUID) that the device supports. This information is retrieved from the UUID list exposed by BlueZ in the D-Bus API.
Assuming this UUID is a static list is a wrong assumption. For example, during device pairing, BlueZ will report the UUIDs incrementally, that is, as soon as each of the profile has been discovered. There is nothing BlueZ can do to overcome this, since there is no strict guarantee about when a UUID will be discovered. Devices might even hide their UUIDs, and still later connect the profile.
PulseAudio does not currently support creating card profiles dynamically. This patchset proposes such feature in order to be used by the Bluetooth modules. The approach has been kept as simple as possible, avoiding additional hooks in the core and even avoiding a new D-Bus signal to announce newly created profiles.
Additionally, patches 04, 06 and 07/11 introduce some further -and somehow unrelated- changes in module-bluetooth-device. This is included here for convenience, due to the device-specific hooks added in patches 05 and 08/11.
Mikel Astiz (11):
card: Support adding profiles dynamically
card: Support adding ports dynamically
dbus: Support dynamically created card profiles
bluetooth: Remove const qualifier for device
bluetooth: Add hook to tell device was removed
bluetooth: Self unload module-bluetooth-device
bluetooth: Hold device pointer while module loaded
bluetooth: Add hook to announce late UUIDs
bluetooth: Refactor code to create card profiles
bluetooth: Refactor code to create profile ports
bluetooth: Handle UUIDs announced later
src/modules/bluetooth/bluetooth-util.c | 24 ++-
src/modules/bluetooth/bluetooth-util.h | 15 +-
src/modules/bluetooth/module-bluetooth-device.c | 231 +++++++++++++---------
src/modules/bluetooth/module-bluetooth-discover.c | 6 +-
src/modules/dbus/iface-card.c | 30 +++
src/pulsecore/card.c | 40 ++++
src/pulsecore/card.h | 3 +
7 files changed, 247 insertions(+), 102 deletions(-)
More information about the pulseaudio-discuss