From: Mikel Astiz <mikel.astiz@xxxxxxxxxxxx> 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(-) -- 1.7.11.7