diff options
Diffstat (limited to 'webrtc/test/fake_encoder.cc')
-rw-r--r-- | webrtc/test/fake_encoder.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/webrtc/test/fake_encoder.cc b/webrtc/test/fake_encoder.cc index a3ade6e97a..72df40f9a5 100644 --- a/webrtc/test/fake_encoder.cc +++ b/webrtc/test/fake_encoder.cc @@ -12,7 +12,7 @@ #include "testing/gtest/include/gtest/gtest.h" -#include "webrtc/modules/video_coding/codecs/interface/video_codec_interface.h" +#include "webrtc/modules/video_coding/include/video_codec_interface.h" #include "webrtc/system_wrappers/include/sleep.h" namespace webrtc { @@ -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); @@ -127,6 +132,11 @@ int32_t FakeEncoder::SetRates(uint32_t new_target_bitrate, uint32_t framerate) { return 0; } +const char* FakeEncoder::kImplementationName = "fake_encoder"; +const char* FakeEncoder::ImplementationName() const { + return kImplementationName; +} + FakeH264Encoder::FakeH264Encoder(Clock* clock) : FakeEncoder(clock), callback_(NULL), idr_counter_(0) { FakeEncoder::RegisterEncodeCompleteCallback(this); |