Loading hal/msm8916/platform.c +10 −6 Original line number Diff line number Diff line Loading @@ -4206,7 +4206,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o * enforced audible (e.g. Camera shutter sound). */ if ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev)) is_active_voice_call = true; Loading Loading @@ -4289,7 +4289,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o } if ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev)) { if (devices & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || devices & AUDIO_DEVICE_OUT_WIRED_HEADSET || Loading Loading @@ -4665,8 +4665,10 @@ snd_device_t platform_get_input_snd_device(void *platform, ALOGV("%s: enter: out_device(%#x) in_device(%#x) channel_count (%d) channel_mask (0x%x)", __func__, out_device, in_device, channel_count, channel_mask); if (my_data->external_mic) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || out_device & AUDIO_DEVICE_OUT_EARPIECE || out_device & AUDIO_DEVICE_OUT_SPEAKER ) Loading @@ -4680,8 +4682,10 @@ snd_device_t platform_get_input_snd_device(void *platform, if (snd_device != AUDIO_DEVICE_NONE) goto exit; if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((adev->voice.tty_mode != TTY_MODE_OFF) && !voice_extn_compress_voip_is_active(adev)) { if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || Loading hal/msm8974/platform.c +10 −6 Original line number Diff line number Diff line Loading @@ -5594,7 +5594,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o * enforced audible (e.g. Camera shutter sound). */ if ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev)) is_active_voice_call = true; Loading Loading @@ -5718,7 +5718,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o } if ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || adev->enable_voicerx || audio_extn_hfp_is_active(adev)) { Loading Loading @@ -6215,8 +6215,10 @@ snd_device_t platform_get_input_snd_device(void *platform, ALOGV("%s: enter: out_device(%#x) in_device(%#x) channel_count (%d) channel_mask (0x%x)", __func__, out_device, in_device, channel_count, channel_mask); if (my_data->external_mic) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || out_device & AUDIO_DEVICE_OUT_EARPIECE || out_device & AUDIO_DEVICE_OUT_SPEAKER ) Loading @@ -6230,8 +6232,10 @@ snd_device_t platform_get_input_snd_device(void *platform, if (snd_device != AUDIO_DEVICE_NONE) goto exit; if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((adev->voice.tty_mode != TTY_MODE_OFF) && !voice_extn_compress_voip_is_active(adev)) { if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || Loading hal/voice.c +16 −0 Original line number Diff line number Diff line Loading @@ -377,6 +377,22 @@ uint32_t voice_get_active_session_id(struct audio_device *adev) return session_id; } bool voice_check_voicecall_usecases_active(struct audio_device *adev) { struct listnode *node; struct audio_usecase *usecase = NULL; list_for_each(node, &adev->usecase_list) { usecase = node_to_item(node, struct audio_usecase, list); if (usecase->type == VOICE_CALL) { ALOGV("%s: voice usecase:%s is active", __func__, use_case_table[usecase->id]); return true; } } return false; } int voice_check_and_set_incall_rec_usecase(struct audio_device *adev, struct stream_in *in) { Loading hal/voice.h +1 −0 Original line number Diff line number Diff line Loading @@ -101,4 +101,5 @@ void voice_check_and_update_aanc_path(struct audio_device *adev, bool voice_is_call_state_active(struct audio_device *adev); void voice_set_device_mute_flag (struct audio_device *adev, bool state); snd_device_t voice_get_incall_rec_backend_device(struct stream_in *in); bool voice_check_voicecall_usecases_active(struct audio_device *adev); #endif //VOICE_H Loading
hal/msm8916/platform.c +10 −6 Original line number Diff line number Diff line Loading @@ -4206,7 +4206,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o * enforced audible (e.g. Camera shutter sound). */ if ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev)) is_active_voice_call = true; Loading Loading @@ -4289,7 +4289,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o } if ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev)) { if (devices & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || devices & AUDIO_DEVICE_OUT_WIRED_HEADSET || Loading Loading @@ -4665,8 +4665,10 @@ snd_device_t platform_get_input_snd_device(void *platform, ALOGV("%s: enter: out_device(%#x) in_device(%#x) channel_count (%d) channel_mask (0x%x)", __func__, out_device, in_device, channel_count, channel_mask); if (my_data->external_mic) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || out_device & AUDIO_DEVICE_OUT_EARPIECE || out_device & AUDIO_DEVICE_OUT_SPEAKER ) Loading @@ -4680,8 +4682,10 @@ snd_device_t platform_get_input_snd_device(void *platform, if (snd_device != AUDIO_DEVICE_NONE) goto exit; if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((adev->voice.tty_mode != TTY_MODE_OFF) && !voice_extn_compress_voip_is_active(adev)) { if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || Loading
hal/msm8974/platform.c +10 −6 Original line number Diff line number Diff line Loading @@ -5594,7 +5594,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o * enforced audible (e.g. Camera shutter sound). */ if ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev)) is_active_voice_call = true; Loading Loading @@ -5718,7 +5718,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o } if ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || adev->enable_voicerx || audio_extn_hfp_is_active(adev)) { Loading Loading @@ -6215,8 +6215,10 @@ snd_device_t platform_get_input_snd_device(void *platform, ALOGV("%s: enter: out_device(%#x) in_device(%#x) channel_count (%d) channel_mask (0x%x)", __func__, out_device, in_device, channel_count, channel_mask); if (my_data->external_mic) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || out_device & AUDIO_DEVICE_OUT_EARPIECE || out_device & AUDIO_DEVICE_OUT_SPEAKER ) Loading @@ -6230,8 +6232,10 @@ snd_device_t platform_get_input_snd_device(void *platform, if (snd_device != AUDIO_DEVICE_NONE) goto exit; if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_is_in_call(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) || voice_check_voicecall_usecases_active(adev) || voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) { if ((adev->voice.tty_mode != TTY_MODE_OFF) && !voice_extn_compress_voip_is_active(adev)) { if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || Loading
hal/voice.c +16 −0 Original line number Diff line number Diff line Loading @@ -377,6 +377,22 @@ uint32_t voice_get_active_session_id(struct audio_device *adev) return session_id; } bool voice_check_voicecall_usecases_active(struct audio_device *adev) { struct listnode *node; struct audio_usecase *usecase = NULL; list_for_each(node, &adev->usecase_list) { usecase = node_to_item(node, struct audio_usecase, list); if (usecase->type == VOICE_CALL) { ALOGV("%s: voice usecase:%s is active", __func__, use_case_table[usecase->id]); return true; } } return false; } int voice_check_and_set_incall_rec_usecase(struct audio_device *adev, struct stream_in *in) { Loading
hal/voice.h +1 −0 Original line number Diff line number Diff line Loading @@ -101,4 +101,5 @@ void voice_check_and_update_aanc_path(struct audio_device *adev, bool voice_is_call_state_active(struct audio_device *adev); void voice_set_device_mute_flag (struct audio_device *adev, bool state); snd_device_t voice_get_incall_rec_backend_device(struct stream_in *in); bool voice_check_voicecall_usecases_active(struct audio_device *adev); #endif //VOICE_H