Ensure that the start bitrate can be set multiple times.

If the start bitrate is set twice, it will be set to the sum of the start
bitrates of the currently registered bitrate observers, or left unchanged
if the current estimate actually is greater than the sum.

BUG=3503
R=henrik.lundin@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15839004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6491 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
stefan@webrtc.org
2014-06-19 12:13:00 +00:00
parent 496a98463b
commit 077593b805
2 changed files with 33 additions and 2 deletions

View File

@ -83,6 +83,24 @@ TEST_F(BitrateControllerTest, Basic) {
controller_->RemoveBitrateObserver(&bitrate_observer);
}
TEST_F(BitrateControllerTest, UpdatingBitrateObserver) {
TestBitrateObserver bitrate_observer;
controller_->SetBitrateObserver(&bitrate_observer, 200000, 100000, 1500000);
clock_.AdvanceTimeMilliseconds(25);
controller_->Process();
EXPECT_EQ(200000u, bitrate_observer.last_bitrate_);
controller_->SetBitrateObserver(&bitrate_observer, 1500000, 100000, 1500000);
clock_.AdvanceTimeMilliseconds(25);
controller_->Process();
EXPECT_EQ(1500000u, bitrate_observer.last_bitrate_);
controller_->SetBitrateObserver(&bitrate_observer, 500000, 100000, 1500000);
clock_.AdvanceTimeMilliseconds(25);
controller_->Process();
EXPECT_EQ(1500000u, bitrate_observer.last_bitrate_);
}
TEST_F(BitrateControllerTest, OneBitrateObserverOneRtcpObserver) {
TestBitrateObserver bitrate_observer;
controller_->SetBitrateObserver(&bitrate_observer, 200000, 100000, 300000);