Index: webrtc/test/fake_encoder.cc |
diff --git a/webrtc/test/fake_encoder.cc b/webrtc/test/fake_encoder.cc |
index 44fb1c5882c3fccd48f2a196a639bfa4be6c2cbf..165fd3e536eb8d5af7dffff56c9eabdffcae0fe9 100644 |
--- a/webrtc/test/fake_encoder.cc |
+++ b/webrtc/test/fake_encoder.cc |
@@ -57,6 +57,11 @@ int32_t FakeEncoder::Encode(const VideoFrame& input_image, |
// at the display time of the previous frame. |
time_since_last_encode_ms = time_now_ms - last_encode_time_ms_; |
} |
+ if (time_since_last_encode_ms > 3 * 1000 / config_.maxFramerate) { |
+ // Rudimentary check to make sure we don't widely overshoot bitrate target |
+ // when resuming encoding after a suspension. |
+ time_since_last_encode_ms = 3 * 1000 / config_.maxFramerate; |
+ } |
size_t bits_available = |
static_cast<size_t>(target_bitrate_kbps_ * time_since_last_encode_ms); |