Loading hal/audio_hw.c +15 −6 Original line number Diff line number Diff line Loading @@ -2131,7 +2131,13 @@ int select_devices(struct audio_device *adev, audio_usecase_t uc_id) if (out_snd_device == SND_DEVICE_NONE) { out_snd_device = platform_get_output_snd_device(adev->platform, usecase->stream.out); if (usecase->stream.out == adev->primary_output && voip_usecase = get_usecase_from_list(adev, USECASE_AUDIO_PLAYBACK_VOIP); if (voip_usecase == NULL) voip_usecase = get_usecase_from_list(adev, adev->primary_output->usecase); if ((usecase->stream.out != NULL && voip_usecase != NULL && usecase->stream.out->usecase == voip_usecase->id) && adev->active_input && out_snd_device != usecase->out_snd_device) { select_devices(adev, adev->active_input->usecase); Loading @@ -2149,8 +2155,11 @@ int select_devices(struct audio_device *adev, audio_usecase_t uc_id) if (adev->active_input && (adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION || (adev->mode == AUDIO_MODE_IN_COMMUNICATION && adev->active_input->source == AUDIO_SOURCE_MIC)) && adev->primary_output && !adev->primary_output->standby) { adev->active_input->source == AUDIO_SOURCE_MIC))) { voip_usecase = get_usecase_from_list(adev, USECASE_AUDIO_PLAYBACK_VOIP); if (voip_usecase != NULL && voip_usecase->stream.out != NULL) out_device = voip_usecase->stream.out->devices; else if (adev->primary_output && !adev->primary_output->standby) out_device = adev->primary_output->devices; platform_set_echo_reference(adev, false, AUDIO_DEVICE_NONE); } else if (usecase->id == USECASE_AUDIO_RECORD_AFE_PROXY) { Loading hal/msm8916/platform.c +10 −0 Original line number Diff line number Diff line Loading @@ -4655,6 +4655,16 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d (mode == AUDIO_MODE_IN_COMMUNICATION)) { if (out_device & AUDIO_DEVICE_OUT_SPEAKER) in_device = AUDIO_DEVICE_IN_BACK_MIC; else if (out_device & AUDIO_DEVICE_OUT_EARPIECE) in_device = AUDIO_DEVICE_IN_BUILTIN_MIC; else if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADSET) in_device = AUDIO_DEVICE_IN_WIRED_HEADSET; else if (out_device & AUDIO_DEVICE_OUT_USB_DEVICE) in_device = AUDIO_DEVICE_IN_USB_DEVICE; in_device = ((out_device == AUDIO_DEVICE_NONE) ? AUDIO_DEVICE_IN_BUILTIN_MIC : in_device) & ~AUDIO_DEVICE_BIT_IN; if (adev->active_input) { snd_device = get_snd_device_for_voice_comm(my_data, out_device, in_device); } Loading hal/msm8974/platform.c +10 −0 Original line number Diff line number Diff line Loading @@ -4490,6 +4490,16 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d (mode == AUDIO_MODE_IN_COMMUNICATION)) { if (out_device & AUDIO_DEVICE_OUT_SPEAKER) in_device = AUDIO_DEVICE_IN_BACK_MIC; else if (out_device & AUDIO_DEVICE_OUT_EARPIECE) in_device = AUDIO_DEVICE_IN_BUILTIN_MIC; else if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADSET) in_device = AUDIO_DEVICE_IN_WIRED_HEADSET; else if (out_device & AUDIO_DEVICE_OUT_USB_DEVICE) in_device = AUDIO_DEVICE_IN_USB_DEVICE; in_device = ((out_device == AUDIO_DEVICE_NONE) ? AUDIO_DEVICE_IN_BUILTIN_MIC : in_device) & ~AUDIO_DEVICE_BIT_IN; if (adev->active_input) { snd_device = get_snd_device_for_voice_comm(my_data, out_device, in_device); } Loading Loading
hal/audio_hw.c +15 −6 Original line number Diff line number Diff line Loading @@ -2131,7 +2131,13 @@ int select_devices(struct audio_device *adev, audio_usecase_t uc_id) if (out_snd_device == SND_DEVICE_NONE) { out_snd_device = platform_get_output_snd_device(adev->platform, usecase->stream.out); if (usecase->stream.out == adev->primary_output && voip_usecase = get_usecase_from_list(adev, USECASE_AUDIO_PLAYBACK_VOIP); if (voip_usecase == NULL) voip_usecase = get_usecase_from_list(adev, adev->primary_output->usecase); if ((usecase->stream.out != NULL && voip_usecase != NULL && usecase->stream.out->usecase == voip_usecase->id) && adev->active_input && out_snd_device != usecase->out_snd_device) { select_devices(adev, adev->active_input->usecase); Loading @@ -2149,8 +2155,11 @@ int select_devices(struct audio_device *adev, audio_usecase_t uc_id) if (adev->active_input && (adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION || (adev->mode == AUDIO_MODE_IN_COMMUNICATION && adev->active_input->source == AUDIO_SOURCE_MIC)) && adev->primary_output && !adev->primary_output->standby) { adev->active_input->source == AUDIO_SOURCE_MIC))) { voip_usecase = get_usecase_from_list(adev, USECASE_AUDIO_PLAYBACK_VOIP); if (voip_usecase != NULL && voip_usecase->stream.out != NULL) out_device = voip_usecase->stream.out->devices; else if (adev->primary_output && !adev->primary_output->standby) out_device = adev->primary_output->devices; platform_set_echo_reference(adev, false, AUDIO_DEVICE_NONE); } else if (usecase->id == USECASE_AUDIO_RECORD_AFE_PROXY) { Loading
hal/msm8916/platform.c +10 −0 Original line number Diff line number Diff line Loading @@ -4655,6 +4655,16 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d (mode == AUDIO_MODE_IN_COMMUNICATION)) { if (out_device & AUDIO_DEVICE_OUT_SPEAKER) in_device = AUDIO_DEVICE_IN_BACK_MIC; else if (out_device & AUDIO_DEVICE_OUT_EARPIECE) in_device = AUDIO_DEVICE_IN_BUILTIN_MIC; else if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADSET) in_device = AUDIO_DEVICE_IN_WIRED_HEADSET; else if (out_device & AUDIO_DEVICE_OUT_USB_DEVICE) in_device = AUDIO_DEVICE_IN_USB_DEVICE; in_device = ((out_device == AUDIO_DEVICE_NONE) ? AUDIO_DEVICE_IN_BUILTIN_MIC : in_device) & ~AUDIO_DEVICE_BIT_IN; if (adev->active_input) { snd_device = get_snd_device_for_voice_comm(my_data, out_device, in_device); } Loading
hal/msm8974/platform.c +10 −0 Original line number Diff line number Diff line Loading @@ -4490,6 +4490,16 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d (mode == AUDIO_MODE_IN_COMMUNICATION)) { if (out_device & AUDIO_DEVICE_OUT_SPEAKER) in_device = AUDIO_DEVICE_IN_BACK_MIC; else if (out_device & AUDIO_DEVICE_OUT_EARPIECE) in_device = AUDIO_DEVICE_IN_BUILTIN_MIC; else if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADSET) in_device = AUDIO_DEVICE_IN_WIRED_HEADSET; else if (out_device & AUDIO_DEVICE_OUT_USB_DEVICE) in_device = AUDIO_DEVICE_IN_USB_DEVICE; in_device = ((out_device == AUDIO_DEVICE_NONE) ? AUDIO_DEVICE_IN_BUILTIN_MIC : in_device) & ~AUDIO_DEVICE_BIT_IN; if (adev->active_input) { snd_device = get_snd_device_for_voice_comm(my_data, out_device, in_device); } Loading