From: Mikel Astiz <[email protected]>

In BlueZ 5, the microphone and speaker gains are exposed as properties
of the MediaTransport1 interface.
---
 src/modules/bluetooth/bluetooth-util.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/modules/bluetooth/bluetooth-util.c 
b/src/modules/bluetooth/bluetooth-util.c
index 16aee20..8c96cc1 100644
--- a/src/modules/bluetooth/bluetooth-util.c
+++ b/src/modules/bluetooth/bluetooth-util.c
@@ -1578,6 +1578,12 @@ void 
pa_bluetooth_transport_set_microphone_gain(pa_bluetooth_transport *t, uint1
     pa_assert(t);
     pa_assert(t->profile == PROFILE_HSP);
 
+    if (t->device->discovery->version >= BLUEZ_VERSION_5) {
+        set_property(t->device->discovery, t->owner, t->path, 
"org.bluez.MediaTransport1",
+                     "MicrophoneGain", DBUS_TYPE_UINT16, &gain);
+        return;
+    }
+
     set_property(t->device->discovery, "org.bluez", t->device->path, 
"org.bluez.Headset",
                  "MicrophoneGain", DBUS_TYPE_UINT16, &gain);
 }
@@ -1588,6 +1594,12 @@ void 
pa_bluetooth_transport_set_speaker_gain(pa_bluetooth_transport *t, uint16_t
     pa_assert(t);
     pa_assert(t->profile == PROFILE_HSP);
 
+    if (t->device->discovery->version >= BLUEZ_VERSION_5) {
+        set_property(t->device->discovery, t->owner, t->path, 
"org.bluez.MediaTransport1",
+                     "SpeakerGain", DBUS_TYPE_UINT16, &gain);
+        return;
+    }
+
     set_property(t->device->discovery, "org.bluez", t->device->path, 
"org.bluez.Headset",
                  "SpeakerGain", DBUS_TYPE_UINT16, &gain);
 }
-- 
1.7.11.7

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to