Implement suspend-below-min-bitrate option.

BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6760 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
pbos@webrtc.org 2014-07-23 07:04:08 +00:00
parent 543e589205
commit 8120353342
2 changed files with 24 additions and 0 deletions

View File

@ -665,6 +665,7 @@ void WebRtcVideoChannel2::Construct(webrtc::Call* call,
void WebRtcVideoChannel2::SetDefaultOptions() {
options_.video_noise_reduction.Set(true);
options_.use_payload_padding.Set(false);
options_.suspend_below_min_bitrate.Set(false);
}
WebRtcVideoChannel2::~WebRtcVideoChannel2() {
@ -1518,6 +1519,9 @@ void WebRtcVideoChannel2::WebRtcVideoSendStream::SetCodecAndOptions(
parameters_.config.rtp.nack.rtp_history_ms = kNackHistoryMs;
}
options.suspend_below_min_bitrate.Get(
&parameters_.config.suspend_below_min_bitrate);
parameters_.codec_settings.Set(codec_settings);
parameters_.options = options;

View File

@ -1067,6 +1067,26 @@ TEST_F(WebRtcVideoChannel2Test,
FAIL() << "Not implemented."; // TODO(pbos): Implement.
}
TEST_F(WebRtcVideoChannel2Test, SuspendBelowMinBitrateDisabledByDefault) {
FakeVideoSendStream* stream = AddSendStream();
EXPECT_FALSE(stream->GetConfig().suspend_below_min_bitrate);
}
TEST_F(WebRtcVideoChannel2Test, SetOptionsWithSuspendBelowMinBitrate) {
VideoOptions options;
options.suspend_below_min_bitrate.Set(true);
channel_->SetOptions(options);
FakeVideoSendStream* stream = AddSendStream();
EXPECT_TRUE(stream->GetConfig().suspend_below_min_bitrate);
options.suspend_below_min_bitrate.Set(false);
channel_->SetOptions(options);
stream = fake_channel_->GetFakeCall()->GetVideoSendStreams()[0];
EXPECT_FALSE(stream->GetConfig().suspend_below_min_bitrate);
}
TEST_F(WebRtcVideoChannel2Test, RedundantPayloadsDisabledByDefault) {
const std::vector<uint32> ssrcs = MAKE_VECTOR(kSsrcs1);
const std::vector<uint32> rtx_ssrcs = MAKE_VECTOR(kRtxSsrcs1);