diff --git a/api/audio/echo_canceller3_config.h b/api/audio/echo_canceller3_config.h index e7dc0825e3..039f76f6e1 100644 --- a/api/audio/echo_canceller3_config.h +++ b/api/audio/echo_canceller3_config.h @@ -100,7 +100,7 @@ struct RTC_EXPORT EchoCanceller3Config { float audibility_threshold_mf = 10; float audibility_threshold_hf = 10; bool use_stationary_properties = true; - bool use_stationarity_properties_at_init = false; + bool use_stationarity_properties_at_init = true; } echo_audibility; struct RenderLevels { diff --git a/modules/audio_processing/aec3/echo_canceller3.cc b/modules/audio_processing/aec3/echo_canceller3.cc index b78155e653..f0d31ff044 100644 --- a/modules/audio_processing/aec3/echo_canceller3.cc +++ b/modules/audio_processing/aec3/echo_canceller3.cc @@ -70,6 +70,11 @@ bool DeactivateStationarityProperties() { "WebRTC-Aec3UseStationarityPropertiesKillSwitch"); } +bool DeactivateStationarityPropertiesAtInit() { + return field_trial::IsEnabled( + "WebRTC-Aec3UseStationarityPropertiesAtInitKillSwitch"); +} + // Method for adjusting config parameter dependencies.. EchoCanceller3Config AdjustConfig(const EchoCanceller3Config& config) { EchoCanceller3Config adjusted_cfg = config; @@ -138,6 +143,10 @@ EchoCanceller3Config AdjustConfig(const EchoCanceller3Config& config) { adjusted_cfg.echo_audibility.use_stationary_properties = false; } + if (DeactivateStationarityPropertiesAtInit()) { + adjusted_cfg.echo_audibility.use_stationarity_properties_at_init = false; + } + return adjusted_cfg; }