From afc3eb1a7347970577d0e09a36484ef8af8f7756 Mon Sep 17 00:00:00 2001 From: Danil Chapovalov Date: Wed, 12 Sep 2018 12:53:10 +0200 Subject: [PATCH] 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 Reviewed-by: Sebastian Jansson Commit-Queue: Danil Chapovalov Cr-Commit-Position: refs/heads/master@{#24709} --- test/frame_generator_capturer.cc | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/test/frame_generator_capturer.cc b/test/frame_generator_capturer.cc index 2e4280f58a..88e65ba1fb 100644 --- a/test/frame_generator_capturer.cc +++ b/test/frame_generator_capturer.cc @@ -50,17 +50,16 @@ class FrameGeneratorCapturer::InsertFrameTask : public rtc::QueuedTask { 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; }