Fixing the bounds for the max and min erle in the erle instantaneous estimation.

Bug: webrtc:12283
Change-Id: I534a5da30e575f9b100046fff31a84774afbf67f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196654
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32834}
diff --git a/modules/audio_processing/aec3/fullband_erle_estimator.cc b/modules/audio_processing/aec3/fullband_erle_estimator.cc
index 1d7a191..e56674e 100644
--- a/modules/audio_processing/aec3/fullband_erle_estimator.cc
+++ b/modules/audio_processing/aec3/fullband_erle_estimator.cc
@@ -162,17 +162,12 @@
 
 void FullBandErleEstimator::ErleInstantaneous::UpdateMaxMin() {
   RTC_DCHECK(erle_log2_);
-  if (erle_log2_.value() > max_erle_log2_) {
-    max_erle_log2_ = erle_log2_.value();
-  } else {
-    max_erle_log2_ -= 0.0004;  // Forget factor, approx 1dB every 3 sec.
-  }
-
-  if (erle_log2_.value() < min_erle_log2_) {
-    min_erle_log2_ = erle_log2_.value();
-  } else {
-    min_erle_log2_ += 0.0004;  // Forget factor, approx 1dB every 3 sec.
-  }
+  // Adding the forgetting factors for the maximum and minimum and capping the
+  // result to the incoming value.
+  max_erle_log2_ -= 0.0004f;  // Forget factor, approx 1dB every 3 sec.
+  max_erle_log2_ = std::max(max_erle_log2_, erle_log2_.value());
+  min_erle_log2_ += 0.0004f;  // Forget factor, approx 1dB every 3 sec.
+  min_erle_log2_ = std::min(min_erle_log2_, erle_log2_.value());
 }
 
 void FullBandErleEstimator::ErleInstantaneous::UpdateQualityEstimate() {