diff --git a/services/audio_service/server/src/pa_adapter_manager.cpp b/services/audio_service/server/src/pa_adapter_manager.cpp index cbe194ab84eb8e1e6315733025861ed2d7b48234..26025f37190f3453f84d8e1bfb5851b9f5c2d14f 100644 --- a/services/audio_service/server/src/pa_adapter_manager.cpp +++ b/services/audio_service/server/src/pa_adapter_manager.cpp @@ -69,6 +69,15 @@ static int32_t CheckReturnIfinvalid(bool expr, const int32_t retVal) return CHECK_UTIL_SUCCESS; } +static bool IsEnhanceMode(SourceType sourceType) +{ + if (sourceType == SOURCE_TYPE_MIC || sourceType == SOURCE_TYPE_VOICE_COMMUNICATION || + sourceType == SOURCE_TYPE_VOICE_CALL) { + return true; + } + return false; +} + PaAdapterManager::PaAdapterManager(ManagerType type) { AUDIO_DEBUG_LOG("Constructor PaAdapterManager"); @@ -336,8 +345,12 @@ pa_stream *PaAdapterManager::InitPaStream(AudioProcessConfig processConfig, uint AUDIO_ERR_LOG("ConnectStreamToPA Failed"); return nullptr; } - if (SetStreamAudioEnhanceMode(paStream, enhanceMode_) != SUCCESS) { - AUDIO_ERR_LOG("set audio enhance mode failed."); + if (processConfig.audioMode == AUDIO_MODE_RECORD) { + enhanceMode_ = IsEnhanceMode(processConfig.capturerInfo.sourceType) ? EFFECT_DEFAULT : EFFECT_NONE; + int32_t ret = SetStreamAudioEnhanceMode(paStream, enhanceMode_); + if (ret != SUCCESS) { + AUDIO_ERR_LOG("capturer set audio enhance mode failed."); + } } return paStream; }