aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2015-01-23 22:01:38 +0100
committerSergiu Cozma <lssjbrolli@gmail.com>2015-03-28 11:44:23 +0200
commit240d2e7f9f341b77ca2587bfe8f637a4b8996cf4 (patch)
tree1e0f50584c1fb3c105a0d6d09c15a7480d809b8d
parenta64b69fef2c7d8ff811281dd262e3ce6af19d12b (diff)
audio: Set the volume on the correct sound device.
Change-Id: I42453e58ea0c334b0b3d91e287ecb21680bc7f7c Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
-rw-r--r--audio/audio_hw.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index 6f97a83..060c097 100644
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -1478,8 +1478,27 @@ static int adev_set_voice_volume(struct audio_hw_device *dev, float volume)
adev->voice_volume = volume;
- if (adev->mode == AUDIO_MODE_IN_CALL)
- ril_set_call_volume(&adev->ril, SOUND_TYPE_VOICE, volume);
+ if (adev->mode == AUDIO_MODE_IN_CALL) {
+ enum ril_sound_type sound_type;
+
+ switch (adev->out_device) {
+ case AUDIO_DEVICE_OUT_SPEAKER:
+ sound_type = SOUND_TYPE_SPEAKER;
+ break;
+ case AUDIO_DEVICE_OUT_WIRED_HEADSET:
+ case AUDIO_DEVICE_OUT_WIRED_HEADPHONE:
+ sound_type = SOUND_TYPE_HEADSET;
+ break;
+ case AUDIO_DEVICE_OUT_BLUETOOTH_SCO:
+ case AUDIO_DEVICE_OUT_ALL_SCO:
+ sound_type = SOUND_TYPE_BTVOICE;
+ break;
+ default:
+ sound_type = SOUND_TYPE_VOICE;
+ }
+
+ ril_set_call_volume(&adev->ril, sound_type, volume);
+ }
return 0;
}