Loading hal/audio_hw.c +2 −0 Original line number Diff line number Diff line Loading @@ -7726,6 +7726,8 @@ static int adev_open(const hw_module_t *module, const char *name, } } adev->mic_break_enabled = property_get_bool("vendor.audio.mic_break", false); if (property_get("vendor.audio_hal.period_multiplier", value, NULL) > 0) { af_period_multiplier = atoi(value); if (af_period_multiplier < 0) Loading hal/audio_hw.h +1 −0 Original line number Diff line number Diff line Loading @@ -487,6 +487,7 @@ struct audio_device { bool bt_wb_speech_enabled; bool allow_afe_proxy_usage; bool is_charging; // from battery listener bool mic_break_enabled; int snd_card; card_status_t card_status; Loading hal/msm8916/platform.c +5 −0 Original line number Diff line number Diff line Loading @@ -3647,6 +3647,11 @@ int platform_start_voice_call(void *platform, uint32_t vsid) return ret; } int platform_set_mic_break_det(void *platform __unused, bool enable __unused) { return 0; } int platform_stop_voice_call(void *platform, uint32_t vsid) { struct platform_data *my_data = (struct platform_data *)platform; Loading hal/msm8974/platform.c +20 −0 Original line number Diff line number Diff line Loading @@ -3518,6 +3518,26 @@ int platform_stop_voice_call(void *platform, uint32_t vsid) return ret; } int platform_set_mic_break_det(void *platform, bool enable) { int ret = 0; struct platform_data *my_data = (struct platform_data *)platform; struct audio_device *adev = my_data->adev; const char *mixer_ctl_name = "Voice Mic Break Enable"; struct mixer_ctl *ctl = mixer_get_ctl_by_name(adev->mixer, mixer_ctl_name); if (!ctl) { ALOGE("%s: Could not get ctl for mixer cmd - %s", __func__, mixer_ctl_name); return -EINVAL; } ret = mixer_ctl_set_value(ctl, 0, enable); if(ret) ALOGE("%s: Failed to set mixer ctl: %s", __func__, mixer_ctl_name); return ret; } int platform_get_sample_rate(void *platform, uint32_t *rate) { struct platform_data *my_data = (struct platform_data *)platform; Loading hal/platform_api.h +1 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,7 @@ int platform_switch_voice_call_usecase_route_post(void *platform, snd_device_t in_snd_device); int platform_start_voice_call(void *platform, uint32_t vsid); int platform_stop_voice_call(void *platform, uint32_t vsid); int platform_set_mic_break_det(void *platform, bool enable); int platform_set_voice_volume(void *platform, int volume); int platform_set_mic_mute(void *platform, bool state); int platform_get_sample_rate(void *platform, uint32_t *rate); Loading Loading
hal/audio_hw.c +2 −0 Original line number Diff line number Diff line Loading @@ -7726,6 +7726,8 @@ static int adev_open(const hw_module_t *module, const char *name, } } adev->mic_break_enabled = property_get_bool("vendor.audio.mic_break", false); if (property_get("vendor.audio_hal.period_multiplier", value, NULL) > 0) { af_period_multiplier = atoi(value); if (af_period_multiplier < 0) Loading
hal/audio_hw.h +1 −0 Original line number Diff line number Diff line Loading @@ -487,6 +487,7 @@ struct audio_device { bool bt_wb_speech_enabled; bool allow_afe_proxy_usage; bool is_charging; // from battery listener bool mic_break_enabled; int snd_card; card_status_t card_status; Loading
hal/msm8916/platform.c +5 −0 Original line number Diff line number Diff line Loading @@ -3647,6 +3647,11 @@ int platform_start_voice_call(void *platform, uint32_t vsid) return ret; } int platform_set_mic_break_det(void *platform __unused, bool enable __unused) { return 0; } int platform_stop_voice_call(void *platform, uint32_t vsid) { struct platform_data *my_data = (struct platform_data *)platform; Loading
hal/msm8974/platform.c +20 −0 Original line number Diff line number Diff line Loading @@ -3518,6 +3518,26 @@ int platform_stop_voice_call(void *platform, uint32_t vsid) return ret; } int platform_set_mic_break_det(void *platform, bool enable) { int ret = 0; struct platform_data *my_data = (struct platform_data *)platform; struct audio_device *adev = my_data->adev; const char *mixer_ctl_name = "Voice Mic Break Enable"; struct mixer_ctl *ctl = mixer_get_ctl_by_name(adev->mixer, mixer_ctl_name); if (!ctl) { ALOGE("%s: Could not get ctl for mixer cmd - %s", __func__, mixer_ctl_name); return -EINVAL; } ret = mixer_ctl_set_value(ctl, 0, enable); if(ret) ALOGE("%s: Failed to set mixer ctl: %s", __func__, mixer_ctl_name); return ret; } int platform_get_sample_rate(void *platform, uint32_t *rate) { struct platform_data *my_data = (struct platform_data *)platform; Loading
hal/platform_api.h +1 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,7 @@ int platform_switch_voice_call_usecase_route_post(void *platform, snd_device_t in_snd_device); int platform_start_voice_call(void *platform, uint32_t vsid); int platform_stop_voice_call(void *platform, uint32_t vsid); int platform_set_mic_break_det(void *platform, bool enable); int platform_set_voice_volume(void *platform, int volume); int platform_set_mic_mute(void *platform, bool state); int platform_get_sample_rate(void *platform, uint32_t *rate); Loading