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

Unified Diff: webrtc/video/full_stack_tests.cc

Issue 2949553002: Wire up experiment for improved screenshare bwe. (Closed)
Patch Set: Created 3 years, 6 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
« no previous file with comments | « webrtc/modules/pacing/paced_sender.cc ('k') | webrtc/video/screenshare_loopback.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 &params) {
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,
« no previous file with comments | « webrtc/modules/pacing/paced_sender.cc ('k') | webrtc/video/screenshare_loopback.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698