Index: webrtc/test/fake_encoder.cc |
diff --git a/webrtc/test/fake_encoder.cc b/webrtc/test/fake_encoder.cc |
index 44fb1c5882c3fccd48f2a196a639bfa4be6c2cbf..f6e64ced5af9373c0886f613869de3652acfb70d 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 > 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; |
mflodman
2015/11/26 10:23:38
This can still add too much, why isn't this the sa
stefan-webrtc
2015/11/26 11:23:38
Very good question :)
It should be 3x in the if s
sprang_webrtc
2015/11/26 13:04:22
Done.
|
+ } |
size_t bits_available = |
static_cast<size_t>(target_bitrate_kbps_ * time_since_last_encode_ms); |