diff options
author | codeworkx <daniel.hillenbrand@codeworkx.de> | 2012-07-26 14:06:37 +0200 |
---|---|---|
committer | codeworkx <daniel.hillenbrand@codeworkx.de> | 2012-07-26 14:06:37 +0200 |
commit | 6d6f5da4b94e25155c712fa95e68a275636bad2e (patch) | |
tree | 71a1811af8679ffe17930dfa470a7b2c16b8a664 /audio/audio_hw.c | |
parent | 5fe50a8c2d506c1c6dda52ded9b669ae296aa1e3 (diff) | |
download | device_samsung_i9300-6d6f5da4b94e25155c712fa95e68a275636bad2e.zip device_samsung_i9300-6d6f5da4b94e25155c712fa95e68a275636bad2e.tar.gz device_samsung_i9300-6d6f5da4b94e25155c712fa95e68a275636bad2e.tar.bz2 |
audio: use main-mic on headphones, fix mic issue when unplugging hs during call
Change-Id: I9111eb0d80be59a721f7c850e3795a51fc91746d
Diffstat (limited to 'audio/audio_hw.c')
-rwxr-xr-x | audio/audio_hw.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c index 4ba97bf..9d9342d 100755 --- a/audio/audio_hw.c +++ b/audio/audio_hw.c @@ -581,25 +581,36 @@ static void select_output_device(struct m0_audio_device *adev) } if (headset_on || headphone_on || speaker_on || earpiece_on) { - LOGD("%s: set bigroute: voicecall_input_default", __func__); + LOGD("%s: set voicecall route: voicecall_default", __func__); set_bigroute_by_array(adev->mixer, voicecall_default, 1); } else { - LOGD("%s: set bigroute: voicecall_input_default_disable", __func__); + LOGD("%s: set voicecall route: voicecall_default_disable", __func__); set_bigroute_by_array(adev->mixer, voicecall_default_disable, 1); } - if (headset_on || headphone_on) { - LOGD("%s: set bigroute: headset_input", __func__); + if (speaker_on || earpiece_on || headphone_on) { + LOGD("%s: set voicecall route: default_input", __func__); + set_bigroute_by_array(adev->mixer, default_input, 1); + } else { + LOGD("%s: set voicecall route: default_input_disable", __func__); + set_bigroute_by_array(adev->mixer, default_input_disable, 1); + } + + if (headset_on) { + LOGD("%s: set voicecall route: headset_input", __func__); set_bigroute_by_array(adev->mixer, headset_input, 1); + } else { + LOGD("%s: set voicecall route: headset_input_disable", __func__); + set_bigroute_by_array(adev->mixer, headset_input_disable, 1); } if (bt_on) { // bt uses a different port (PORT_BT) for playback, reopen the pcms end_call(adev); start_call(adev); - LOGD("%s: set bigroute: bt_input", __func__); + LOGD("%s: set voicecall route: bt_input", __func__); set_bigroute_by_array(adev->mixer, bt_input, 1); - LOGD("%s: set bigroute: bt_output", __func__); + LOGD("%s: set voicecall route: bt_output", __func__); set_bigroute_by_array(adev->mixer, bt_output, 1); } set_incall_device(adev); |