From: Jo?o Paulo Rechi Vita <jprvita@xxxxxxxxx> This is the 3rd RFC of the bluetooth-refactor patch series. There are two commits tagged with FIXUP, which were left this way to ease the peer-review process, since there changes were not completely agreed upon by email previously. The original cover letter message follows bellow: This series reverts the previous support for BlueZ 5, renames the "bluetooth" portion of the old modules name for "bluez4", creates a new set of modules for BlueZ 5 supporting A2DP sink and source roles, and provides configuration options to independently enable/disable each modules set during build. The transport acquire/release operations have been reworked to provide a way to implement this operations in transport backends out of the bluez5 modules core. Jo?o Paulo Rechi Vita (43): bluetooth: Track org.bluez for BlueZ 5 bluetooth: Create infrastrucure for bluetooth hooks bluetooth: Create pa_bluetooth_adapter for BlueZ 5 support bluetooth: Create pa_bluetooth_device for BlueZ 5 support bluetooth: Remove all devices when org.bluez goes away bluetooth: Create pa_bluetooth_transport for BlueZ 5 support bluetooth: Register MediaEndpoint1 objects with D-Bus bluetooth: Implement org.bluez.MediaEndpoint1.SetConfiguration() bluetooth: Implement org.bluez.MediaEndpoint1.SelectConfiguration() bluetooth: Implement org.bluez.MediaEndpoint1.ClearConfiguration() bluetooth: Add utility function to send D-Bus messages with reply bluetooth: Get managed objects bluetooth: Handle InterfacesAdded and InterfacesRemoved bluetooth: Parse BlueZ 5 D-Bus interfaces bluetooth: Parse BlueZ 5 adapter properties bluetooth: Register endpoints with BlueZ 5 adapter bluetooth: Handle PropertiesChanged for org.bluez.Adapter1 bluetooth: Parse BlueZ 5 device properties FIXUP: Handle device information arriving before the adapter information FIXUP: Change parse_device_property() to return void bluetooth: Handle PropertiesChanged for org.bluez.Device1 bluetooth: Handle PropertiesChanged for org.bluez.MediaTransport1 bluetooth: Track devices in module-bluez5-discover bluetooth: Create module-bluez5-device bluetooth: Get BlueZ 5 device object bluetooth: Unload module-bluez5-device on device's disconnection bluetooth: Create BlueZ 5 card bluetooth: Create BlueZ 5 card ports bluetooth: Create BlueZ 5 card profile for each audio UUID bluetooth: Initialize profiles for BlueZ 5 cards bluetooth: Create sink for BlueZ 5 cards bluetooth: Create source for BlueZ 5 cards bluetooth: Start / stop I/O thread for BlueZ 5 cards bluetooth: Set card profile for BlueZ 5 cards bluetooth: Create I/O thread function for BlueZ 5 cards bluetooth: Process sink messages for BlueZ 5 cards bluetooth: Process source messages for BlueZ 5 cards bluetooth: Handle changes to BlueZ 5 transports state bluetooth: Implement get_n_used() for module-bluez5-device bluetooth: Fail to load driver is discovery module is not loaded module: Create pa_module_exists() cli-command: Use pa_module_exists() in .ifexists bluetooth: Revive module-bluetooth-discover src/Makefile.am | 20 +- src/modules/bluetooth/bluez5-util.c | 1531 ++++++++++++++++- src/modules/bluetooth/bluez5-util.h | 88 + src/modules/bluetooth/module-bluetooth-discover.c | 79 + src/modules/bluetooth/module-bluez5-device.c | 1902 +++++++++++++++++++++ src/modules/bluetooth/module-bluez5-discover.c | 56 +- src/pulsecore/cli-command.c | 41 +- src/pulsecore/module.c | 49 + src/pulsecore/module.h | 2 + 9 files changed, 3722 insertions(+), 46 deletions(-) create mode 100644 src/modules/bluetooth/module-bluetooth-discover.c create mode 100644 src/modules/bluetooth/module-bluez5-device.c -- 1.8.3.1