Hi Jo?o, On Wed, Apr 17, 2013 at 7:02 PM, Jo?o Paulo Rechi Vita <jprvita at gmail.com> wrote: > On Tue, Apr 16, 2013 at 10:40 AM, Mikel Astiz <mikel.astiz.oss at gmail.com> wrote: >> From: Mikel Astiz <mikel.astiz at bmw-carit.de> >> >> In BlueZ 5, the microphone and speaker gains are exposed as properties >> of the MediaTransport1 interface. > > There is no HSP implementation in BlueZ 5 and for HFP these interfaces > will be exposed in the oFono API, so this code will never be used. IMO > we shouldn't merge this patch util these properties are actually used > by someone. I already mentioned this in the cover-letter and basically I agree with your proposal. Cheers, Mikel > >> --- >> src/modules/bluetooth/bluetooth-util.c | 41 ++++++++++++++++++++++++++++++++++ >> 1 file changed, 41 insertions(+) >> >> diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c >> index 7589c22..de4dbce 100644 >> --- a/src/modules/bluetooth/bluetooth-util.c >> +++ b/src/modules/bluetooth/bluetooth-util.c >> @@ -1154,6 +1154,32 @@ static int transport_parse_property(pa_bluetooth_transport *t, DBusMessageIter * >> >> break; >> } >> + >> + case DBUS_TYPE_BYTE: { >> + uint8_t value; >> + >> + dbus_message_iter_get_basic(&variant_i, &value); >> + >> + if (pa_streq(key, "MicrophoneGain")) { >> + uint8_t gain; >> + >> + if ((gain = PA_MIN(value, HSP_MAX_GAIN)) == t->microphone_gain) >> + break; >> + >> + t->microphone_gain = gain; >> + pa_hook_fire(&t->device->discovery->hooks[PA_BLUETOOTH_HOOK_TRANSPORT_MICROPHONE_GAIN_CHANGED], t); >> + } else if (pa_streq(key, "SpeakerGain")) { >> + uint8_t gain; >> + >> + if ((gain = PA_MIN(value, HSP_MAX_GAIN)) == t->speaker_gain) >> + break; >> + >> + t->speaker_gain = gain; >> + pa_hook_fire(&t->device->discovery->hooks[PA_BLUETOOTH_HOOK_TRANSPORT_SPEAKER_GAIN_CHANGED], t); >> + } >> + >> + break; >> + } >> } >> >> return 0; >> @@ -1617,6 +1643,14 @@ 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) { >> + uint8_t g = (uint8_t) gain; >> + >> + set_property(t->device->discovery, t->owner, t->path, "org.bluez.MediaTransport1", >> + "MicrophoneGain", DBUS_TYPE_BYTE, &g); >> + return; >> + } >> + >> set_property(t->device->discovery, "org.bluez", t->device->path, "org.bluez.Headset", >> "MicrophoneGain", DBUS_TYPE_UINT16, &gain); >> } >> @@ -1627,6 +1661,13 @@ 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) { >> + uint8_t g = (uint8_t) gain; >> + >> + set_property(t->device->discovery, t->owner, t->path, "org.bluez.MediaTransport1", "SpeakerGain", DBUS_TYPE_BYTE, &g); >> + return; >> + } >> + >> set_property(t->device->discovery, "org.bluez", t->device->path, "org.bluez.Headset", >> "SpeakerGain", DBUS_TYPE_UINT16, &gain); >> } >> -- >> 1.8.1.4 >> >> _______________________________________________ >> pulseaudio-discuss mailing list >> pulseaudio-discuss at lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss > > > > -- > Jo?o Paulo Rechi Vita > http://about.me/jprvita > _______________________________________________ > pulseaudio-discuss mailing list > pulseaudio-discuss at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss