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
diff --git a/talk/media/webrtc/webrtcvideoengine2.cc b/talk/media/webrtc/webrtcvideoengine2.cc
index 549aa2c..28bd6f4 100644
--- a/talk/media/webrtc/webrtcvideoengine2.cc
+++ b/talk/media/webrtc/webrtcvideoengine2.cc
@@ -665,6 +665,7 @@
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 @@
parameters_.config.rtp.nack.rtp_history_ms = kNackHistoryMs;
}
+ options.suspend_below_min_bitrate.Get(
+ ¶meters_.config.suspend_below_min_bitrate);
+
parameters_.codec_settings.Set(codec_settings);
parameters_.options = options;
diff --git a/talk/media/webrtc/webrtcvideoengine2_unittest.cc b/talk/media/webrtc/webrtcvideoengine2_unittest.cc
index c9d2066..c6168ea 100644
--- a/talk/media/webrtc/webrtcvideoengine2_unittest.cc
+++ b/talk/media/webrtc/webrtcvideoengine2_unittest.cc
@@ -1067,6 +1067,26 @@
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);