Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(327)

Unified Diff: webrtc/modules/video_coding/video_sender_unittest.cc

Issue 1682253005: Fix SetRates for encoders with internal sources. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/video_coding/video_sender_unittest.cc
diff --git a/webrtc/modules/video_coding/video_sender_unittest.cc b/webrtc/modules/video_coding/video_sender_unittest.cc
index 7249797eff94dab03c48ca41919dd4814cbe238c..3cd1fd35e0406070beb7f85e7bd033c2a8763165 100644
--- a/webrtc/modules/video_coding/video_sender_unittest.cc
+++ b/webrtc/modules/video_coding/video_sender_unittest.cc
@@ -317,6 +317,19 @@ TEST_F(TestVideoSenderWithMockEncoder, TestIntraRequestsInternalCapture) {
EXPECT_EQ(-1, sender_->IntraFrameRequest(-1));
}
+TEST_F(TestVideoSenderWithMockEncoder, TestEncoderParametersForInternalSource) {
+ // De-register current external encoder.
+ sender_->RegisterExternalEncoder(nullptr, kUnusedPayloadType, false);
+ // Register encoder with internal capture.
+ sender_->RegisterExternalEncoder(&encoder_, kUnusedPayloadType, true);
+ EXPECT_EQ(0, sender_->RegisterSendCodec(&settings_, 1, 1200));
+ // Update encoder bitrate parameters. We expect that to immediately call
+ // SetRates on the encoder without waiting for AddFrame processing.
+ const uint32_t new_bitrate = settings_.startBitrate + 300;
+ EXPECT_CALL(encoder_, SetRates(new_bitrate, _)).Times(1).WillOnce(Return(0));
+ sender_->SetChannelParameters(new_bitrate * 1000, 0, 200);
+}
+
TEST_F(TestVideoSenderWithMockEncoder, EncoderFramerateUpdatedViaProcess) {
sender_->SetChannelParameters(settings_.startBitrate * 1000, 0, 200);
const int64_t kRateStatsWindowMs = 2000;
« webrtc/modules/video_coding/video_sender.cc ('K') | « webrtc/modules/video_coding/video_sender.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698