Simplify WebRtcVideoChannelTest.PreviousAdaptationDoesNotApplyToScreenshare

Test wiring to DegradationPreference passed to
VideoSendStream::SetSource, but not the adaptation implemented in the
test class FakeVideoCapturer.

Bug: webrtc:6353
Change-Id: Iec2ae89283fb856822ea2829db17eaa02337b467
Reviewed-on: https://webrtc-review.googlesource.com/c/117641
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26278}
This commit is contained in:
Niels Möller 2019-01-15 16:32:38 +01:00 committed by Commit Bot
parent 254ecffacf
commit dcc70297cd

View File

@ -3359,45 +3359,24 @@ TEST_F(WebRtcVideoChannelTest, PreviousAdaptationDoesNotApplyToScreenshare) {
ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size());
FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front();
EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720));
EXPECT_EQ(1, send_stream->GetNumberOfSwappedFrames());
EXPECT_EQ(1280, send_stream->GetLastWidth());
EXPECT_EQ(720, send_stream->GetLastHeight());
EXPECT_TRUE(send_stream->resolution_scaling_enabled());
// Dont' expect anything on framerate_scaling_enabled, since the default is
// transitioning from MAINTAIN_FRAMERATE to BALANCED.
// Trigger overuse.
rtc::VideoSinkWants wants;
wants.max_pixel_count =
send_stream->GetLastWidth() * send_stream->GetLastHeight() - 1;
send_stream->InjectVideoSinkWants(wants);
EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720));
EXPECT_EQ(2, send_stream->GetNumberOfSwappedFrames());
EXPECT_EQ(1280 * 3 / 4, send_stream->GetLastWidth());
EXPECT_EQ(720 * 3 / 4, send_stream->GetLastHeight());
// Switch to screen share. Expect no CPU adaptation.
// Switch to screen share. Expect no resolution scaling.
cricket::VideoOptions screenshare_options;
screenshare_options.is_screencast = true;
channel_->SetVideoSend(last_ssrc_, &screenshare_options, &capturer);
EXPECT_TRUE(capturer.CaptureCustomFrame(1284, 724));
ASSERT_EQ(2, fake_call_->GetNumCreatedSendStreams());
send_stream = fake_call_->GetVideoSendStreams().front();
EXPECT_EQ(1, send_stream->GetNumberOfSwappedFrames());
EXPECT_EQ(1284, send_stream->GetLastWidth());
EXPECT_EQ(724, send_stream->GetLastHeight());
EXPECT_FALSE(send_stream->resolution_scaling_enabled());
// Switch back to the normal capturer. Expect the frame to be CPU adapted.
// Switch back to the normal capturer. Expect resolution scaling to be
// reenabled.
channel_->SetVideoSend(last_ssrc_, &camera_options, &capturer);
send_stream = fake_call_->GetVideoSendStreams().front();
// We have a new fake send stream, so it doesn't remember the old sink wants.
// In practice, it will be populated from
// VideoStreamEncoder::VideoSourceProxy::SetSource(), so simulate that here.
send_stream->InjectVideoSinkWants(wants);
EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720));
ASSERT_EQ(3, fake_call_->GetNumCreatedSendStreams());
send_stream = fake_call_->GetVideoSendStreams().front();
EXPECT_EQ(1, send_stream->GetNumberOfSwappedFrames());
EXPECT_EQ(1280 * 3 / 4, send_stream->GetLastWidth());
EXPECT_EQ(720 * 3 / 4, send_stream->GetLastHeight());
EXPECT_TRUE(send_stream->resolution_scaling_enabled());
EXPECT_TRUE(channel_->SetVideoSend(last_ssrc_, nullptr, nullptr));
}