in test::FrameGeneratorCapturer try to keep up with fps when overloaded

this reverts behavior change of
https://webrtc-review.googlesource.com/c/src/+/98844
where capturere prefer to skip frames when overloaded.

Bug: webrtc:9739
Change-Id: Ib1c8bb27cc0e160bf6db87926630bbc176c73204
Reviewed-on: https://webrtc-review.googlesource.com/99900
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24709}
diff --git a/test/frame_generator_capturer.cc b/test/frame_generator_capturer.cc
index 2e4280f..88e65ba 100644
--- a/test/frame_generator_capturer.cc
+++ b/test/frame_generator_capturer.cc
@@ -50,17 +50,16 @@
 
     int64_t now_ms = rtc::TimeMillis();
     if (next_run_time_ms_ < now_ms) {
-      int skipped_frames = 1 + (now_ms - next_run_time_ms_) / interval_ms;
-      next_run_time_ms_ += skipped_frames * interval_ms;
       RTC_LOG(LS_ERROR) << "Frame Generator Capturer can't keep up with "
-                           "requested fps, skipped "
-                        << skipped_frames << " frame(s).";
+                           "requested fps.";
+      rtc::TaskQueue::Current()->PostTask(absl::WrapUnique(this));
+    } else {
+      int64_t delay_ms = next_run_time_ms_ - now_ms;
+      RTC_DCHECK_GE(delay_ms, 0);
+      RTC_DCHECK_LE(delay_ms, interval_ms);
+      rtc::TaskQueue::Current()->PostDelayedTask(absl::WrapUnique(this),
+                                                 delay_ms);
     }
-    int64_t delay_ms = next_run_time_ms_ - now_ms;
-    RTC_DCHECK_GE(delay_ms, 0);
-    RTC_DCHECK_LE(delay_ms, interval_ms);
-    rtc::TaskQueue::Current()->PostDelayedTask(absl::WrapUnique(this),
-                                               delay_ms);
     return false;
   }