summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/audio_hw.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index 9ddfeb1..1775acc 100644
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -589,11 +589,18 @@ static void select_mode(struct m0_audio_device *adev)
end_call(adev);
force_all_standby(adev);
- /* Disable voicecall route */
- ALOGE("Disabling voicecall route");
+ ALOGD("%s: set voicecall route: voicecall_default_disable", __func__);
set_voicecall_route_by_array(adev->mixer, voicecall_default_disable, 1);
+ ALOGD("%s: set voicecall route: default_input_disable", __func__);
+ set_voicecall_route_by_array(adev->mixer, default_input_disable, 1);
+ ALOGD("%s: set voicecall route: headset_input_disable", __func__);
+ set_voicecall_route_by_array(adev->mixer, headset_input_disable, 1);
+ ALOGD("%s: set voicecall route: bt_disable", __func__);
+ set_voicecall_route_by_array(adev->mixer, bt_disable, 1);
select_output_device(adev);
+ //Force Input Standby
+ adev->in_device = AUDIO_DEVICE_NONE;
select_input_device(adev);
}
}
@@ -3066,16 +3073,13 @@ static int adev_open(const hw_module_t* module, const char* name,
pthread_mutex_lock(&adev->lock);
adev->mode = AUDIO_MODE_NORMAL;
adev->out_device = AUDIO_DEVICE_OUT_SPEAKER;
- adev->in_device = AUDIO_DEVICE_IN_BUILTIN_MIC & ~AUDIO_DEVICE_BIT_IN;
+ adev->in_device = AUDIO_DEVICE_NONE;
select_devices(adev);
/* +30db boost for mics */
adev->mixer_ctls.mixinl_in1l_volume = mixer_get_ctl_by_name(adev->mixer, "MIXINL IN1L Volume");
adev->mixer_ctls.mixinl_in2l_volume = mixer_get_ctl_by_name(adev->mixer, "MIXINL IN2L Volume");
- /* Disable voicecall route */
- set_voicecall_route_by_array(adev->mixer, voicecall_default_disable, 1);
-
adev->pcm_modem_dl = NULL;
adev->pcm_modem_ul = NULL;
adev->pcm_bt_dl = NULL;