2010-01-07 09:31:20

by nirav rabara

[permalink] [raw]
Subject: SetMicrophoneGain & SetSpeakerGain API problem

I am using bluez 4.58 stack, I am able to connect, & disconnect HS
with bluetoothd. Also I am able to access API provided in bluez for
manager , adapter & headset etc.

I am using HCI layer only for SCO connection and rest of the
functionality for HS (connection, disconnection properties information
) am using D-BUS API.

But When I call SetMicrophoneGain/ SetSpeakerGain with gain
value(0-15), GetProperties gives following message

(SpeakerGain - 11 )
QDBusMessage(type=MethoReturn,
service=":1.0",signature="a[sv]",contents=([Argument: a{sv} {"Playing
=[Variant(bool):false],"State" = [Variant(QString):"connected",
"Connected" = [Variant(bool):true], "SpeakerGain" = [Variant(ushort):
10], "MicrophoneGain" = [Varinat(ushort): 6]}]))

(SpeakerGain - 10 )
QDBusMessage(type=MethoReturn,
service=":1.0",signature="a[sv]",contents=([Argument: a{sv} {"Playing
=[Variant(bool):false],"State" = [Variant(QString):"connected",
"Connected" = [Variant(bool):true], "SpeakerGain" = [Variant(ushort):
10], "MicrophoneGain" = [Varinat(ushort): 6]}]))

(SpeakerGain - 7 )
QDBusMessage(type=MethoReturn,
service=":1.0",signature="a[sv]",contents=([Argument: a{sv} {"Playing
=[Variant(bool):false],"State" = [Variant(QString):"connected",
"Connected" = [Variant(bool):true], "SpeakerGain" = [Variant(ushort):
7], "MicrophoneGain" = [Varinat(ushort): 6]}]))

(SpeakerGain - 15 )
QDBusMessage(type=MethoReturn,
service=":1.0",signature="a[sv]",contents=([Argument: a{sv} {"Playing
=[Variant(bool):false],"State" = [Variant(QString):"connected",
"Connected" = [Variant(bool):true], "SpeakerGain" = [Variant(ushort):
15], "MicrophoneGain" = [Varinat(ushort): 6]}]))

(MicrophoneGain - 8 )
QDBusMessage(type=MethoReturn,
service=":1.0",signature="a[sv]",contents=([Argument: a{sv} {"Playing
=[Variant(bool):false],"State" = [Variant(QString):"connected",
"Connected" = [Variant(bool):true], "SpeakerGain" = [Variant(ushort):
10], "MicrophoneGain" = [Varinat(ushort): 8]}]))

(MicrophoneGain- 4)
QDBusMessage(type=MethoReturn,
service=":1.0",signature="a[sv]",contents=([Argument: a{sv} {"Playing
=[Variant(bool):false],"State" = [Variant(QString):"connected",
"Connected" = [Variant(bool):true], "SpeakerGain" = [Variant(ushort):
7], "MicrophoneGain" = [Varinat(ushort): 4]}]))

(MicrophoneGain - 11 )
QDBusMessage(type=MethoReturn,
service=":1.0",signature="a[sv]",contents=([Argument: a{sv} {"Playing
=[Variant(bool):false],"State" = [Variant(QString):"connected",
"Connected" = [Variant(bool):true], "SpeakerGain" = [Variant(ushort):
15], "MicrophoneGain" = [Varinat(ushort): 11]}]))

So when I use GetProperties its shows that gain for Microphone and
Speaker has changed but actually it has no impact on HS.
Is this a right way to set gain for Mic and Speaker of HS. Or I must
do it though RFCOMM socket

Why API doesn't have any impact even though values are getting changed.

Any help will be appreciable.
--
With Regards,
Nirav Rabara