diff options
author | Narsinga Rao Chella <nrchella@codeaurora.org> | 2014-10-03 13:34:45 -0700 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2016-05-11 00:12:20 +0200 |
commit | e515bd789606c51449eeffea01b4d0312d1c63ca (patch) | |
tree | f016d0c92f6b4151a312d59de07dab29f5b6110f | |
parent | 022a0f3c63ee8b334b540817308412081ec927d8 (diff) | |
download | hardware_qcom_audio-e515bd789606c51449eeffea01b4d0312d1c63ca.tar.gz hardware_qcom_audio-e515bd789606c51449eeffea01b4d0312d1c63ca.tar.bz2 hardware_qcom_audio-e515bd789606c51449eeffea01b4d0312d1c63ca.zip |
hal: fix the input device selection for headphones
Headset speaker output device and Speaker phone mic input device
is an invalid device pair combination. Instead, select Handset mic
input device for Headphones.
Change-Id: I1bce425bd73d2f79b7dd78a7d5c701c43390b167
-rw-r--r-- | hal/msm8974/platform.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c index ce527c59..2b590d1e 100644 --- a/hal/msm8974/platform.c +++ b/hal/msm8974/platform.c @@ -1308,7 +1308,8 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d goto exit; } } - if (out_device & AUDIO_DEVICE_OUT_EARPIECE) { + if (out_device & AUDIO_DEVICE_OUT_EARPIECE || + out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) { if (out_device & AUDIO_DEVICE_OUT_EARPIECE && audio_extn_should_use_handset_anc(channel_count)) { snd_device = SND_DEVICE_IN_AANC_HANDSET_MIC; @@ -1327,8 +1328,7 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d snd_device = SND_DEVICE_IN_BT_SCO_MIC_WB; else snd_device = SND_DEVICE_IN_BT_SCO_MIC; - } else if (out_device & AUDIO_DEVICE_OUT_SPEAKER || - out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) { + } else if (out_device & AUDIO_DEVICE_OUT_SPEAKER) { if (my_data->fluence_type != FLUENCE_NONE && my_data->fluence_in_voice_call && my_data->fluence_in_spkr_mode) { @@ -1473,12 +1473,13 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d snd_device = SND_DEVICE_IN_HANDSET_MIC; } else if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADSET) { snd_device = SND_DEVICE_IN_HEADSET_MIC; - } else if (out_device & AUDIO_DEVICE_OUT_SPEAKER || - out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) { + } else if (out_device & AUDIO_DEVICE_OUT_SPEAKER) { if (channel_count == 2) snd_device = SND_DEVICE_IN_SPEAKER_STEREO_DMIC; else snd_device = SND_DEVICE_IN_SPEAKER_MIC; + } else if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) { + snd_device = SND_DEVICE_IN_HANDSET_MIC; } else if (out_device & AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET) { if (my_data->btsco_sample_rate == SAMPLE_RATE_16KHZ) snd_device = SND_DEVICE_IN_BT_SCO_MIC_WB; |