Removed the timeout for the delay estimate quality.

BUG=webrtc:8223, chromium:763761

Review-Url: https://codereview.webrtc.org/3011193002
Cr-Original-Commit-Position: refs/heads/master@{#19773}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: c6b1041d6782ca3a483ac72f42c85375230a48c8
diff --git a/modules/audio_processing/aec3/render_delay_controller.cc b/modules/audio_processing/aec3/render_delay_controller.cc
index d5d8a14..565bf43 100644
--- a/modules/audio_processing/aec3/render_delay_controller.cc
+++ b/modules/audio_processing/aec3/render_delay_controller.cc
@@ -42,10 +42,10 @@
  private:
   static int instance_count_;
   std::unique_ptr<ApmDataDumper> data_dumper_;
-  size_t delay_ = 0;
+  size_t delay_ = kMinEchoPathDelayBlocks;
   EchoPathDelayEstimator delay_estimator_;
   size_t blocks_since_last_delay_estimate_ = 300000;
-  int echo_path_delay_samples_ = 0;
+  int echo_path_delay_samples_ = kMinEchoPathDelayBlocks * kBlockSize;
   size_t align_call_counter_ = 0;
   rtc::Optional<size_t> headroom_samples_;
   RenderDelayControllerMetrics metrics_;
@@ -85,7 +85,7 @@
 void RenderDelayControllerImpl::Reset() {
   delay_ = kMinEchoPathDelayBlocks;
   blocks_since_last_delay_estimate_ = 300000;
-  echo_path_delay_samples_ = 0;
+  echo_path_delay_samples_ = delay_ * kBlockSize;
   align_call_counter_ = 0;
   headroom_samples_ = rtc::Optional<size_t>();
 
@@ -124,8 +124,6 @@
       RTC_DCHECK_LE(0, headroom);
       headroom_samples_ = rtc::Optional<size_t>(headroom);
     }
-  } else if (++blocks_since_last_delay_estimate_ > 20 * kNumBlocksPerSecond) {
-    headroom_samples_ = rtc::Optional<size_t>();
   }
 
   metrics_.Update(echo_path_delay_samples, delay_);
diff --git a/modules/audio_processing/aec3/render_delay_controller_unittest.cc b/modules/audio_processing/aec3/render_delay_controller_unittest.cc
index ba2f25b..45d00f9 100644
--- a/modules/audio_processing/aec3/render_delay_controller_unittest.cc
+++ b/modules/audio_processing/aec3/render_delay_controller_unittest.cc
@@ -53,8 +53,9 @@
         RenderDelayController::Create(AudioProcessing::Config::EchoCanceller3(),
                                       rate));
     for (size_t k = 0; k < 100; ++k) {
-      EXPECT_EQ(0u, delay_controller->GetDelay(
-                        delay_buffer->GetDownsampledRenderBuffer(), block));
+      EXPECT_EQ(kMinEchoPathDelayBlocks,
+                delay_controller->GetDelay(
+                    delay_buffer->GetDownsampledRenderBuffer(), block));
     }
   }
 }
@@ -78,7 +79,7 @@
           render_delay_buffer->GetDownsampledRenderBuffer(), capture_block);
     }
     EXPECT_FALSE(delay_controller->AlignmentHeadroomSamples());
-    EXPECT_EQ(0u, delay_blocks);
+    EXPECT_EQ(kMinEchoPathDelayBlocks, delay_blocks);
   }
 }
 
@@ -113,9 +114,6 @@
       size_t expected_delay_blocks =
           std::max(0, static_cast<int>(delay_samples / kBlockSize) -
                           kDelayHeadroomBlocks);
-      if (expected_delay_blocks < 2) {
-        expected_delay_blocks = 0;
-      }
 
       EXPECT_EQ(expected_delay_blocks, delay_blocks);