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

Unified Diff: webrtc/media/engine/webrtcvideoengine2_unittest.cc

Issue 2636443002: Add experimental simulcast screen content mode (Closed)
Patch Set: Created 3 years, 11 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/media/engine/webrtcvideoengine2_unittest.cc
diff --git a/webrtc/media/engine/webrtcvideoengine2_unittest.cc b/webrtc/media/engine/webrtcvideoengine2_unittest.cc
index 8349469669816264886b98ec4f9759bf5aa2c2b7..2dadb439b6d046178c8a55e5b63d0110c143ac3a 100644
--- a/webrtc/media/engine/webrtcvideoengine2_unittest.cc
+++ b/webrtc/media/engine/webrtcvideoengine2_unittest.cc
@@ -3927,7 +3927,7 @@ TEST_F(WebRtcVideoChannel2Test, ConfiguresLocalSsrcOnExistingReceivers) {
class WebRtcVideoChannel2SimulcastTest : public testing::Test {
public:
WebRtcVideoChannel2SimulcastTest()
- : fake_call_(webrtc::Call::Config(&event_log_)) {}
+ : fake_call_(webrtc::Call::Config(&event_log_)), last_ssrc_(0) {}
void SetUp() override {
engine_.Init();
@@ -3942,9 +3942,15 @@ class WebRtcVideoChannel2SimulcastTest : public testing::Test {
int capture_width,
int capture_height,
size_t num_configured_streams,
- size_t expected_num_streams) {
+ size_t expected_num_streams,
+ bool screenshare) {
cricket::VideoSendParameters parameters;
+ VideoOptions options;
parameters.codecs.push_back(codec);
+ if (screenshare) {
+ parameters.conference_mode = true;
+ options.is_screencast = rtc::Optional<bool>(screenshare);
+ }
ASSERT_TRUE(channel_->SetSendParameters(parameters));
std::vector<uint32_t> ssrcs = MAKE_VECTOR(kSsrcs3);
@@ -3957,7 +3963,7 @@ class WebRtcVideoChannel2SimulcastTest : public testing::Test {
// expected simulcast layers.
cricket::FakeVideoCapturer capturer;
EXPECT_TRUE(
- channel_->SetVideoSend(ssrcs.front(), true, nullptr, &capturer));
+ channel_->SetVideoSend(ssrcs.front(), true, &options, &capturer));
EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(cricket::VideoFormat(
capture_width, capture_height,
cricket::VideoFormat::FpsToInterval(30),
@@ -3970,7 +3976,7 @@ class WebRtcVideoChannel2SimulcastTest : public testing::Test {
std::vector<webrtc::VideoStream> expected_streams = GetSimulcastConfig(
num_configured_streams, capture_width, capture_height, 0, kDefaultQpMax,
- kDefaultVideoMaxFramerate);
+ kDefaultVideoMaxFramerate, screenshare);
ASSERT_EQ(expected_streams.size(), video_streams.size());
@@ -4053,15 +4059,26 @@ class WebRtcVideoChannel2SimulcastTest : public testing::Test {
};
TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWith2SimulcastStreams) {
- VerifySimulcastSettings(cricket::VideoCodec("VP8"), 640, 360, 2, 2);
+ VerifySimulcastSettings(cricket::VideoCodec("VP8"), 640, 360, 2, 2, false);
}
TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWith3SimulcastStreams) {
- VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 3);
+ VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 3, false);
}
// Test that we normalize send codec format size in simulcast.
TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) {
- VerifySimulcastSettings(cricket::VideoCodec("VP8"), 541, 271, 2, 2);
+ VerifySimulcastSettings(cricket::VideoCodec("VP8"), 541, 271, 2, 2, false);
+}
+
+TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsForScreenshare) {
+ VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true);
}
+
+TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsForSimulcastScreenshare) {
+ webrtc::test::ScopedFieldTrials override_field_trials_(
+ "WebRTC-SimulcastScreenshare/Enabled/");
+ VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 2, true);
+}
+
} // namespace cricket

Powered by Google App Engine
This is Rietveld 408576698