Chromium Code Reviews| Index: webrtc/video/full_stack_tests.cc |
| diff --git a/webrtc/video/full_stack_tests.cc b/webrtc/video/full_stack_tests.cc |
| index 829977137998ac6d2983de77eb26a05ed093d257..4a7334fe1ea2291207e573c7b75d33df4a245395 100644 |
| --- a/webrtc/video/full_stack_tests.cc |
| +++ b/webrtc/video/full_stack_tests.cc |
| @@ -9,19 +9,29 @@ |
| */ |
| #include <stdio.h> |
| +#include "webrtc/modules/pacing/alr_detector.h" |
| #include "webrtc/test/field_trial.h" |
| #include "webrtc/test/gtest.h" |
| #include "webrtc/video/video_quality_test.h" |
| namespace webrtc { |
| +namespace { |
| static const int kFullStackTestDurationSecs = 45; |
| +} // namespace |
| class FullStackTest : public VideoQualityTest { |
| public: |
| void RunTest(const VideoQualityTest::Params ¶ms) { |
| RunWithAnalyzer(params); |
| } |
| + |
| + protected: |
| + const std::string kScreenshareSimulcastExperiment = |
| + "WebRTC-SimulcastScreenshare/Enabled/"; |
| + const std::string kAlrProbingExperiment = |
| + std::string(AlrDetector::kScreenshareProbingBweExperimentName) + |
| + "/1.1-2875-80-90/"; |
| }; |
| // VideoQualityTest::Params params = { |
| @@ -310,7 +320,7 @@ TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { |
| } |
| TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) { |
| - test::ScopedFieldTrials field_trial("WebRTC-SimulcastScreenshare/Enabled/"); |
|
philipel
2017/06/20 09:47:18
Do we just hijack some old experiment that we don'
sprang_webrtc
2017/06/20 10:48:58
This experiment is not old, it's currently being r
philipel
2017/06/20 12:14:30
ah...
|
| + test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment); |
| VideoQualityTest::Params screenshare; |
| screenshare.call.send_side_bwe = true; |
| screenshare.screenshare = {true, 10}; |
| @@ -389,6 +399,93 @@ TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) { |
| RunTest(screenshare); |
| } |
| +TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) { |
| + VideoQualityTest::Params screenshare; |
| + screenshare.call.send_side_bwe = true; |
| + screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| + "VP8", 2, 1, 400000, false, false, "", ""}; |
| + screenshare.screenshare = {true, 10}; |
| + screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0, |
| + kFullStackTestDurationSecs}; |
| + screenshare.pipe.loss_percent = 1; |
| + screenshare.pipe.link_capacity_kbps = 1200; |
| + screenshare.pipe.queue_length_packets = 30; |
| + |
| + RunTest(screenshare); |
| +} |
| + |
| +// TODO(sprang): Retire these tests once experiment is removed. |
| +TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue_ALR) { |
|
philipel
2017/06/20 09:47:18
I'm not sure why we implement tests just for this
sprang_webrtc
2017/06/20 10:48:58
If the experiment turns out well, we should settle
philipel
2017/06/20 12:14:30
If these tests are copies of other tests then we s
|
| + test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
| + VideoQualityTest::Params screenshare; |
| + screenshare.call.send_side_bwe = true; |
| + screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| + "VP8", 2, 1, 400000, false, false, "", ""}; |
| + screenshare.screenshare = {true, 10}; |
| + screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0, |
| + kFullStackTestDurationSecs}; |
| + screenshare.pipe.loss_percent = 5; |
| + screenshare.pipe.link_capacity_kbps = 200; |
| + screenshare.pipe.queue_length_packets = 30; |
| + |
| + RunTest(screenshare); |
| +} |
| + |
| +TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ALR) { |
| + test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
| + VideoQualityTest::Params screenshare; |
| + screenshare.call.send_side_bwe = true; |
| + screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| + "VP8", 2, 1, 400000, false, false, "", ""}; |
| + screenshare.screenshare = {true, 10}; |
| + screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0, |
| + kFullStackTestDurationSecs}; |
| + RunTest(screenshare); |
| +} |
| + |
| +TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted_ALR) { |
| + test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
| + VideoQualityTest::Params screenshare; |
| + screenshare.call.send_side_bwe = true; |
| + screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| + "VP8", 2, 1, 400000, false, false, "", ""}; |
| + screenshare.screenshare = {true, 10}; |
| + screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0, |
| + 0.0, kFullStackTestDurationSecs}; |
| + screenshare.pipe.loss_percent = 1; |
| + screenshare.pipe.link_capacity_kbps = 1200; |
| + screenshare.pipe.queue_length_packets = 30; |
| + |
| + RunTest(screenshare); |
| +} |
| + |
| +TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast_ALR) { |
| + test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment + |
| + kAlrProbingExperiment); |
| + VideoQualityTest::Params screenshare; |
| + screenshare.call.send_side_bwe = true; |
| + screenshare.screenshare = {true, 10}; |
| + screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, |
| + 2500000, false, "VP8", 3, 2, 400000, |
| + false, false, "", ""}; |
| + screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0, |
| + kFullStackTestDurationSecs}; |
| + VideoQualityTest::Params screenshare_params_high; |
| + screenshare_params_high.video = {true, 1850, 1110, 5, 800000, 2500000, |
| + 2500000, false, "VP8", 3, 0, 400000, |
| + false, false, "", ""}; |
| + VideoQualityTest::Params screenshare_params_low; |
| + screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, |
| + 2000000, false, "VP8", 2, 0, 400000, |
| + false, false, "", ""}; |
| + |
| + std::vector<VideoStream> streams = { |
| + DefaultVideoStream(screenshare_params_low), |
| + DefaultVideoStream(screenshare_params_high)}; |
| + screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; |
| + RunTest(screenshare); |
| +} |
| + |
| const VideoQualityTest::Params::Video kSvcVp9Video = { |
| true, 1280, 720, 30, |
| 800000, 2500000, 2500000, false, |