Loading hal/msm8916/platform.c +10 −6 Original line number Diff line number Diff line Loading @@ -4124,7 +4124,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 @@ -4207,7 +4207,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 @@ -4583,8 +4583,10 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d 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 @@ -4598,8 +4600,10 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d 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 @@ -4085,7 +4085,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 @@ -4170,7 +4170,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 @@ -4558,8 +4558,10 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d 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 @@ -4573,8 +4575,10 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d 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 @@ -363,6 +363,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 @@ -104,4 +104,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 @@ -4124,7 +4124,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 @@ -4207,7 +4207,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 @@ -4583,8 +4583,10 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d 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 @@ -4598,8 +4600,10 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d 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 @@ -4085,7 +4085,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 @@ -4170,7 +4170,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 @@ -4558,8 +4558,10 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d 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 @@ -4573,8 +4575,10 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d 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 @@ -363,6 +363,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 @@ -104,4 +104,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