if (mDirection == CAudioInfo::EAudioDirection::AUDIO_DIRECTION_IN) {
int device_id;
+ bool noise_suppression_enabled;
+ sound_acoustic_echo_cancel_type_e aec_type;
+ sound_noise_suppression_type_e ns_type;
- if ((errorCode = sound_manager_get_echo_cancel_reference_device(stream_info, &device_id) != SOUND_MANAGER_ERROR_NONE))
+ if ((errorCode = sound_manager_get_echo_cancel_reference_device(stream_info, &device_id, &aec_type)) != SOUND_MANAGER_ERROR_NONE)
THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Can't get reference device [ret:%d]", errorCode); //LCOV_EXCL_LINE
if (device_id != SOUND_MANAGER_STREAM_NO_REFERENCE_DEVICE)
- getAudioInfo().bindEchoCancelReferenceDeviceId(device_id);
+ getAudioInfo().bindEchoCancelReferenceDeviceId(device_id, aec_type);
+
+ if ((errorCode = sound_manager_get_noise_suppression(stream_info, &noise_suppression_enabled, &ns_type)) != SOUND_MANAGER_ERROR_NONE)
+ THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Can't get noise suppression status [ret:%d]", errorCode); //LCOV_EXCL_LINE
+
+ if (noise_suppression_enabled)
+ getAudioInfo().setNoiseSuppression(noise_suppression_enabled, ns_type);
}
}