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

Side by Side Diff: webrtc/video/full_stack_tests.cc

Issue 2974903002: Add rtpdump and rtc log functionality to screenshare_loopback and video_loopback (Closed)
Patch Set: rebase Created 3 years, 5 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 unified diff | Download patch
« no previous file with comments | « webrtc/video/BUILD.gn ('k') | webrtc/video/screenshare_loopback.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 #include <stdio.h> 10 #include <stdio.h>
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // pipe, // FakeNetworkPipe::Config 42 // pipe, // FakeNetworkPipe::Config
43 // { ... }, // Spatial scalability. 43 // { ... }, // Spatial scalability.
44 // logs // bool 44 // logs // bool
45 // }; 45 // };
46 46
47 #if !defined(RTC_DISABLE_VP9) 47 #if !defined(RTC_DISABLE_VP9)
48 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { 48 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) {
49 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. 49 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
50 VideoQualityTest::Params foreman_cif; 50 VideoQualityTest::Params foreman_cif;
51 foreman_cif.call.send_side_bwe = true; 51 foreman_cif.call.send_side_bwe = true;
52 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, 52 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false,
53 "VP9", 1, 0, 0, false, false, "", "foreman_cif"}; 53 "VP9", 1, 0, 0, false, false, "foreman_cif"};
54 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_VP9", 0.0, 0.0, 54 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_VP9", 0.0, 0.0,
55 kFullStackTestDurationSecs}; 55 kFullStackTestDurationSecs};
56 RunTest(foreman_cif); 56 RunTest(foreman_cif);
57 } 57 }
58 58
59 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { 59 TEST_F(FullStackTest, ForemanCifPlr5Vp9) {
60 VideoQualityTest::Params foreman_cif; 60 VideoQualityTest::Params foreman_cif;
61 foreman_cif.call.send_side_bwe = true; 61 foreman_cif.call.send_side_bwe = true;
62 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, 62 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
63 "VP9", 1, 0, 0, false, false, "", "foreman_cif"}; 63 "VP9", 1, 0, 0, false, false, "foreman_cif"};
64 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_VP9", 0.0, 0.0, 64 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_VP9", 0.0, 0.0,
65 kFullStackTestDurationSecs}; 65 kFullStackTestDurationSecs};
66 foreman_cif.pipe.loss_percent = 5; 66 foreman_cif.pipe.loss_percent = 5;
67 foreman_cif.pipe.queue_delay_ms = 50; 67 foreman_cif.pipe.queue_delay_ms = 50;
68 RunTest(foreman_cif); 68 RunTest(foreman_cif);
69 } 69 }
70 #endif // !defined(RTC_DISABLE_VP9) 70 #endif // !defined(RTC_DISABLE_VP9)
71 71
72 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { 72 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) {
73 VideoQualityTest::Params paris_qcif; 73 VideoQualityTest::Params paris_qcif;
74 paris_qcif.call.send_side_bwe = true; 74 paris_qcif.call.send_side_bwe = true;
75 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false, 75 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false,
76 "VP8", 1, 0, 0, false, false, "", "paris_qcif"}; 76 "VP8", 1, 0, 0, false, false, "paris_qcif"};
77 paris_qcif.analyzer = {"net_delay_0_0_plr_0", 36.0, 0.96, 77 paris_qcif.analyzer = {"net_delay_0_0_plr_0", 36.0, 0.96,
78 kFullStackTestDurationSecs}; 78 kFullStackTestDurationSecs};
79 RunTest(paris_qcif); 79 RunTest(paris_qcif);
80 } 80 }
81 81
82 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { 82 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) {
83 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. 83 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
84 VideoQualityTest::Params foreman_cif; 84 VideoQualityTest::Params foreman_cif;
85 foreman_cif.call.send_side_bwe = true; 85 foreman_cif.call.send_side_bwe = true;
86 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, "VP8", 86 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false,
87 1, 0, 0, false, false, "", "foreman_cif"}; 87 "VP8", 1, 0, 0, false, false, "foreman_cif"};
88 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, 88 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0,
89 kFullStackTestDurationSecs}; 89 kFullStackTestDurationSecs};
90 RunTest(foreman_cif); 90 RunTest(foreman_cif);
91 } 91 }
92 92
93 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) { 93 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) {
94 VideoQualityTest::Params foreman_cif; 94 VideoQualityTest::Params foreman_cif;
95 foreman_cif.call.send_side_bwe = true; 95 foreman_cif.call.send_side_bwe = true;
96 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, 96 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false,
97 "VP8", 1, 0, 0, false, false, "", "foreman_cif"}; 97 "VP8", 1, 0, 0, false, false, "foreman_cif"};
98 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0", 0.0, 0.0, 98 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0", 0.0, 0.0,
99 kFullStackTestDurationSecs}; 99 kFullStackTestDurationSecs};
100 RunTest(foreman_cif); 100 RunTest(foreman_cif);
101 } 101 }
102 102
103 TEST_F(FullStackTest, ForemanCifPlr5) { 103 TEST_F(FullStackTest, ForemanCifPlr5) {
104 VideoQualityTest::Params foreman_cif; 104 VideoQualityTest::Params foreman_cif;
105 foreman_cif.call.send_side_bwe = true; 105 foreman_cif.call.send_side_bwe = true;
106 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", 106 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
107 1, 0, 0, false, false, "", "foreman_cif"}; 107 "VP8", 1, 0, 0, false, false, "foreman_cif"};
108 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, 108 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0,
109 kFullStackTestDurationSecs}; 109 kFullStackTestDurationSecs};
110 foreman_cif.pipe.loss_percent = 5; 110 foreman_cif.pipe.loss_percent = 5;
111 foreman_cif.pipe.queue_delay_ms = 50; 111 foreman_cif.pipe.queue_delay_ms = 50;
112 RunTest(foreman_cif); 112 RunTest(foreman_cif);
113 } 113 }
114 114
115 TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) { 115 TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) {
116 VideoQualityTest::Params foreman_cif; 116 VideoQualityTest::Params foreman_cif;
117 foreman_cif.call.send_side_bwe = true; 117 foreman_cif.call.send_side_bwe = true;
118 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", 118 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
119 1, 0, 0, true, false, "", "foreman_cif"}; 119 "VP8", 1, 0, 0, true, false, "foreman_cif"};
120 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_ulpfec", 0.0, 0.0, 120 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_ulpfec", 0.0, 0.0,
121 kFullStackTestDurationSecs}; 121 kFullStackTestDurationSecs};
122 foreman_cif.pipe.loss_percent = 5; 122 foreman_cif.pipe.loss_percent = 5;
123 foreman_cif.pipe.queue_delay_ms = 50; 123 foreman_cif.pipe.queue_delay_ms = 50;
124 RunTest(foreman_cif); 124 RunTest(foreman_cif);
125 } 125 }
126 126
127 TEST_F(FullStackTest, ForemanCifPlr5Flexfec) { 127 TEST_F(FullStackTest, ForemanCifPlr5Flexfec) {
128 VideoQualityTest::Params foreman_cif; 128 VideoQualityTest::Params foreman_cif;
129 foreman_cif.call.send_side_bwe = true; 129 foreman_cif.call.send_side_bwe = true;
130 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", 130 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
131 1, 0, 0, false, true, "", "foreman_cif"}; 131 "VP8", 1, 0, 0, false, true, "foreman_cif"};
132 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_flexfec", 0.0, 0.0, 132 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_flexfec", 0.0, 0.0,
133 kFullStackTestDurationSecs}; 133 kFullStackTestDurationSecs};
134 foreman_cif.pipe.loss_percent = 5; 134 foreman_cif.pipe.loss_percent = 5;
135 foreman_cif.pipe.queue_delay_ms = 50; 135 foreman_cif.pipe.queue_delay_ms = 50;
136 RunTest(foreman_cif); 136 RunTest(foreman_cif);
137 } 137 }
138 138
139 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Flexfec) { 139 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Flexfec) {
140 VideoQualityTest::Params foreman_cif; 140 VideoQualityTest::Params foreman_cif;
141 foreman_cif.call.send_side_bwe = true; 141 foreman_cif.call.send_side_bwe = true;
142 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, 142 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
143 false, "VP8", 1, 0, 0, false, true, 143 "VP8", 1, 0, 0, false, true, "foreman_cif"};
144 "", "foreman_cif"};
145 foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_flexfec", 0.0, 144 foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_flexfec", 0.0,
146 0.0, kFullStackTestDurationSecs}; 145 0.0, kFullStackTestDurationSecs};
147 foreman_cif.pipe.loss_percent = 3; 146 foreman_cif.pipe.loss_percent = 3;
148 foreman_cif.pipe.link_capacity_kbps = 500; 147 foreman_cif.pipe.link_capacity_kbps = 500;
149 foreman_cif.pipe.queue_delay_ms = 50; 148 foreman_cif.pipe.queue_delay_ms = 50;
150 RunTest(foreman_cif); 149 RunTest(foreman_cif);
151 } 150 }
152 151
153 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Ulpfec) { 152 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Ulpfec) {
154 VideoQualityTest::Params foreman_cif; 153 VideoQualityTest::Params foreman_cif;
155 foreman_cif.call.send_side_bwe = true; 154 foreman_cif.call.send_side_bwe = true;
156 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, 155 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
157 false, "VP8", 1, 0, 0, true, false, 156 "VP8", 1, 0, 0, true, false, "foreman_cif"};
158 "", "foreman_cif"};
159 foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_ulpfec", 0.0, 157 foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_ulpfec", 0.0,
160 0.0, kFullStackTestDurationSecs}; 158 0.0, kFullStackTestDurationSecs};
161 foreman_cif.pipe.loss_percent = 3; 159 foreman_cif.pipe.loss_percent = 3;
162 foreman_cif.pipe.link_capacity_kbps = 500; 160 foreman_cif.pipe.link_capacity_kbps = 500;
163 foreman_cif.pipe.queue_delay_ms = 50; 161 foreman_cif.pipe.queue_delay_ms = 50;
164 RunTest(foreman_cif); 162 RunTest(foreman_cif);
165 } 163 }
166 164
167 #if defined(WEBRTC_USE_H264) 165 #if defined(WEBRTC_USE_H264)
168 TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) { 166 TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) {
169 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. 167 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
170 VideoQualityTest::Params foreman_cif; 168 VideoQualityTest::Params foreman_cif;
171 foreman_cif.call.send_side_bwe = true; 169 foreman_cif.call.send_side_bwe = true;
172 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, 170 foreman_cif.video = {true, 352, 288, 30, 700000,
173 "H264", 1, 0, 0, false, false, "", "foreman_cif"}; 171 700000, 700000, false, "H264", 1,
172 0, 0, false, false, "foreman_cif"};
174 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_H264", 0.0, 0.0, 173 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_H264", 0.0, 0.0,
175 kFullStackTestDurationSecs}; 174 kFullStackTestDurationSecs};
176 RunTest(foreman_cif); 175 RunTest(foreman_cif);
177 } 176 }
178 177
179 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) { 178 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) {
180 VideoQualityTest::Params foreman_cif; 179 VideoQualityTest::Params foreman_cif;
181 foreman_cif.call.send_side_bwe = true; 180 foreman_cif.call.send_side_bwe = true;
182 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, "H264", 181 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false,
183 1, 0, 0, false, false, "", "foreman_cif"}; 182 "H264", 1, 0, 0, false, false, "foreman_cif"};
184 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0_H264", 0.0, 183 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0_H264", 0.0,
185 0.0, kFullStackTestDurationSecs}; 184 0.0, kFullStackTestDurationSecs};
186 RunTest(foreman_cif); 185 RunTest(foreman_cif);
187 } 186 }
188 187
189 TEST_F(FullStackTest, ForemanCifPlr5H264) { 188 TEST_F(FullStackTest, ForemanCifPlr5H264) {
190 VideoQualityTest::Params foreman_cif; 189 VideoQualityTest::Params foreman_cif;
191 foreman_cif.call.send_side_bwe = true; 190 foreman_cif.call.send_side_bwe = true;
192 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, 191 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
193 "H264", 1, 0, 0, false, false, "", "foreman_cif"}; 192 "H264", 1, 0, 0, false, false, "foreman_cif"};
194 std::string fec_description; 193 std::string fec_description;
195 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264", 0.0, 0.0, 194 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264", 0.0, 0.0,
196 kFullStackTestDurationSecs}; 195 kFullStackTestDurationSecs};
197 foreman_cif.pipe.loss_percent = 5; 196 foreman_cif.pipe.loss_percent = 5;
198 foreman_cif.pipe.queue_delay_ms = 50; 197 foreman_cif.pipe.queue_delay_ms = 50;
199 RunTest(foreman_cif); 198 RunTest(foreman_cif);
200 } 199 }
201 200
202 // Verify that this is worth the bot time, before enabling. 201 // Verify that this is worth the bot time, before enabling.
203 TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) { 202 TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) {
204 VideoQualityTest::Params foreman_cif; 203 VideoQualityTest::Params foreman_cif;
205 foreman_cif.call.send_side_bwe = true; 204 foreman_cif.call.send_side_bwe = true;
206 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, 205 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
207 "H264", 1, 0, 0, false, true, "", "foreman_cif"}; 206 "H264", 1, 0, 0, false, true, "foreman_cif"};
208 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_flexfec", 0.0, 0.0, 207 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_flexfec", 0.0, 0.0,
209 kFullStackTestDurationSecs}; 208 kFullStackTestDurationSecs};
210 foreman_cif.pipe.loss_percent = 5; 209 foreman_cif.pipe.loss_percent = 5;
211 foreman_cif.pipe.queue_delay_ms = 50; 210 foreman_cif.pipe.queue_delay_ms = 50;
212 RunTest(foreman_cif); 211 RunTest(foreman_cif);
213 } 212 }
214 213
215 // Ulpfec with H264 is an unsupported combination, so this test is only useful 214 // Ulpfec with H264 is an unsupported combination, so this test is only useful
216 // for debugging. It is therefore disabled by default. 215 // for debugging. It is therefore disabled by default.
217 TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) { 216 TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) {
218 VideoQualityTest::Params foreman_cif; 217 VideoQualityTest::Params foreman_cif;
219 foreman_cif.call.send_side_bwe = true; 218 foreman_cif.call.send_side_bwe = true;
220 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, 219 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
221 "H264", 1, 0, 0, true, false, "", "foreman_cif"}; 220 "H264", 1, 0, 0, true, false, "foreman_cif"};
222 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_ulpfec", 0.0, 0.0, 221 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_ulpfec", 0.0, 0.0,
223 kFullStackTestDurationSecs}; 222 kFullStackTestDurationSecs};
224 foreman_cif.pipe.loss_percent = 5; 223 foreman_cif.pipe.loss_percent = 5;
225 foreman_cif.pipe.queue_delay_ms = 50; 224 foreman_cif.pipe.queue_delay_ms = 50;
226 RunTest(foreman_cif); 225 RunTest(foreman_cif);
227 } 226 }
228 #endif // defined(WEBRTC_USE_H264) 227 #endif // defined(WEBRTC_USE_H264)
229 228
230 TEST_F(FullStackTest, ForemanCif500kbps) { 229 TEST_F(FullStackTest, ForemanCif500kbps) {
231 VideoQualityTest::Params foreman_cif; 230 VideoQualityTest::Params foreman_cif;
232 foreman_cif.call.send_side_bwe = true; 231 foreman_cif.call.send_side_bwe = true;
233 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", 232 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
234 1, 0, 0, false, false, "", "foreman_cif"}; 233 "VP8", 1, 0, 0, false, false, "foreman_cif"};
235 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, 234 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0,
236 kFullStackTestDurationSecs}; 235 kFullStackTestDurationSecs};
237 foreman_cif.pipe.queue_length_packets = 0; 236 foreman_cif.pipe.queue_length_packets = 0;
238 foreman_cif.pipe.queue_delay_ms = 0; 237 foreman_cif.pipe.queue_delay_ms = 0;
239 foreman_cif.pipe.link_capacity_kbps = 500; 238 foreman_cif.pipe.link_capacity_kbps = 500;
240 RunTest(foreman_cif); 239 RunTest(foreman_cif);
241 } 240 }
242 241
243 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { 242 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) {
244 VideoQualityTest::Params foreman_cif; 243 VideoQualityTest::Params foreman_cif;
245 foreman_cif.call.send_side_bwe = true; 244 foreman_cif.call.send_side_bwe = true;
246 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", 245 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
247 1, 0, 0, false, false, "", "foreman_cif"}; 246 "VP8", 1, 0, 0, false, false, "foreman_cif"};
248 foreman_cif.analyzer = {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, 247 foreman_cif.analyzer = {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0,
249 kFullStackTestDurationSecs}; 248 kFullStackTestDurationSecs};
250 foreman_cif.pipe.queue_length_packets = 32; 249 foreman_cif.pipe.queue_length_packets = 32;
251 foreman_cif.pipe.queue_delay_ms = 0; 250 foreman_cif.pipe.queue_delay_ms = 0;
252 foreman_cif.pipe.link_capacity_kbps = 500; 251 foreman_cif.pipe.link_capacity_kbps = 500;
253 RunTest(foreman_cif); 252 RunTest(foreman_cif);
254 } 253 }
255 254
256 TEST_F(FullStackTest, ForemanCif500kbps100ms) { 255 TEST_F(FullStackTest, ForemanCif500kbps100ms) {
257 VideoQualityTest::Params foreman_cif; 256 VideoQualityTest::Params foreman_cif;
258 foreman_cif.call.send_side_bwe = true; 257 foreman_cif.call.send_side_bwe = true;
259 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", 258 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
260 1, 0, 0, false, false, "", "foreman_cif"}; 259 "VP8", 1, 0, 0, false, false, "foreman_cif"};
261 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, 260 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0,
262 kFullStackTestDurationSecs}; 261 kFullStackTestDurationSecs};
263 foreman_cif.pipe.queue_length_packets = 0; 262 foreman_cif.pipe.queue_length_packets = 0;
264 foreman_cif.pipe.queue_delay_ms = 100; 263 foreman_cif.pipe.queue_delay_ms = 100;
265 foreman_cif.pipe.link_capacity_kbps = 500; 264 foreman_cif.pipe.link_capacity_kbps = 500;
266 RunTest(foreman_cif); 265 RunTest(foreman_cif);
267 } 266 }
268 267
269 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { 268 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) {
270 VideoQualityTest::Params foreman_cif; 269 VideoQualityTest::Params foreman_cif;
271 foreman_cif.call.send_side_bwe = true; 270 foreman_cif.call.send_side_bwe = true;
272 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", 271 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
273 1, 0, 0, false, false, "", "foreman_cif"}; 272 "VP8", 1, 0, 0, false, false, "foreman_cif"};
274 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, 273 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0,
275 kFullStackTestDurationSecs}; 274 kFullStackTestDurationSecs};
276 foreman_cif.pipe.queue_length_packets = 32; 275 foreman_cif.pipe.queue_length_packets = 32;
277 foreman_cif.pipe.queue_delay_ms = 100; 276 foreman_cif.pipe.queue_delay_ms = 100;
278 foreman_cif.pipe.link_capacity_kbps = 500; 277 foreman_cif.pipe.link_capacity_kbps = 500;
279 RunTest(foreman_cif); 278 RunTest(foreman_cif);
280 } 279 }
281 280
282 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { 281 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) {
283 VideoQualityTest::Params foreman_cif; 282 VideoQualityTest::Params foreman_cif;
284 foreman_cif.call.send_side_bwe = false; 283 foreman_cif.call.send_side_bwe = false;
285 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", 284 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
286 1, 0, 0, false, false, "", "foreman_cif"}; 285 "VP8", 1, 0, 0, false, false, "foreman_cif"};
287 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe", 286 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe",
288 0.0, 0.0, kFullStackTestDurationSecs}; 287 0.0, 0.0, kFullStackTestDurationSecs};
289 foreman_cif.pipe.queue_length_packets = 32; 288 foreman_cif.pipe.queue_length_packets = 32;
290 foreman_cif.pipe.queue_delay_ms = 100; 289 foreman_cif.pipe.queue_delay_ms = 100;
291 foreman_cif.pipe.link_capacity_kbps = 500; 290 foreman_cif.pipe.link_capacity_kbps = 500;
292 RunTest(foreman_cif); 291 RunTest(foreman_cif);
293 } 292 }
294 293
295 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { 294 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) {
296 VideoQualityTest::Params foreman_cif; 295 VideoQualityTest::Params foreman_cif;
297 foreman_cif.call.send_side_bwe = true; 296 foreman_cif.call.send_side_bwe = true;
298 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false, 297 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false,
299 "VP8", 1, 0, 0, false, false, "", "foreman_cif"}; 298 "VP8", 1, 0, 0, false, false, "foreman_cif"};
300 foreman_cif.analyzer = {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, 299 foreman_cif.analyzer = {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0,
301 kFullStackTestDurationSecs}; 300 kFullStackTestDurationSecs};
302 foreman_cif.pipe.queue_length_packets = 32; 301 foreman_cif.pipe.queue_length_packets = 32;
303 foreman_cif.pipe.queue_delay_ms = 100; 302 foreman_cif.pipe.queue_delay_ms = 100;
304 foreman_cif.pipe.link_capacity_kbps = 1000; 303 foreman_cif.pipe.link_capacity_kbps = 1000;
305 RunTest(foreman_cif); 304 RunTest(foreman_cif);
306 } 305 }
307 306
308 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { 307 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) {
309 VideoQualityTest::Params conf_motion_hd; 308 VideoQualityTest::Params conf_motion_hd;
310 conf_motion_hd.call.send_side_bwe = true; 309 conf_motion_hd.call.send_side_bwe = true;
311 conf_motion_hd.video = {true, 1280, 720, 50, 30000, 3000000, 3000000, false, 310 conf_motion_hd.video = {
312 "VP8", 1, 0, 0, false, false, "", 311 true, 1280, 720, 50, 30000,
313 "ConferenceMotion_1280_720_50"}; 312 3000000, 3000000, false, "VP8", 1,
313 0, 0, false, false, "ConferenceMotion_1280_720_50"};
314 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", 314 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue",
315 0.0, 0.0, kFullStackTestDurationSecs}; 315 0.0, 0.0, kFullStackTestDurationSecs};
316 conf_motion_hd.pipe.queue_length_packets = 32; 316 conf_motion_hd.pipe.queue_length_packets = 32;
317 conf_motion_hd.pipe.queue_delay_ms = 100; 317 conf_motion_hd.pipe.queue_delay_ms = 100;
318 conf_motion_hd.pipe.link_capacity_kbps = 2000; 318 conf_motion_hd.pipe.link_capacity_kbps = 2000;
319 RunTest(conf_motion_hd); 319 RunTest(conf_motion_hd);
320 } 320 }
321 321
322 #if !defined(RTC_DISABLE_VP9) 322 #if !defined(RTC_DISABLE_VP9)
323 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) { 323 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) {
324 VideoQualityTest::Params conf_motion_hd; 324 VideoQualityTest::Params conf_motion_hd;
325 conf_motion_hd.call.send_side_bwe = true; 325 conf_motion_hd.call.send_side_bwe = true;
326 conf_motion_hd.video = {true, 1280, 720, 50, 30000, 3000000, 3000000, false, 326 conf_motion_hd.video = {
327 "VP9", 1, 0, 0, false, false, "", 327 true, 1280, 720, 50, 30000,
328 "ConferenceMotion_1280_720_50"}; 328 3000000, 3000000, false, "VP9", 1,
329 0, 0, false, false, "ConferenceMotion_1280_720_50"};
329 conf_motion_hd.analyzer = { 330 conf_motion_hd.analyzer = {
330 "conference_motion_hd_2000kbps_100ms_32pkts_queue_vp9", 0.0, 0.0, 331 "conference_motion_hd_2000kbps_100ms_32pkts_queue_vp9", 0.0, 0.0,
331 kFullStackTestDurationSecs}; 332 kFullStackTestDurationSecs};
332 conf_motion_hd.pipe.queue_length_packets = 32; 333 conf_motion_hd.pipe.queue_length_packets = 32;
333 conf_motion_hd.pipe.queue_delay_ms = 100; 334 conf_motion_hd.pipe.queue_delay_ms = 100;
334 conf_motion_hd.pipe.link_capacity_kbps = 2000; 335 conf_motion_hd.pipe.link_capacity_kbps = 2000;
335 RunTest(conf_motion_hd); 336 RunTest(conf_motion_hd);
336 } 337 }
337 #endif 338 #endif
338 339
339 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { 340 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) {
340 VideoQualityTest::Params screenshare; 341 VideoQualityTest::Params screenshare;
341 screenshare.call.send_side_bwe = true; 342 screenshare.call.send_side_bwe = true;
342 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 343 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
343 "VP8", 2, 1, 400000, false, false, "", ""}; 344 "VP8", 2, 1, 400000, false, false, ""};
344 screenshare.screenshare = {true, 10}; 345 screenshare.screenshare = {true, 10};
345 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, 346 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0,
346 kFullStackTestDurationSecs}; 347 kFullStackTestDurationSecs};
347 RunTest(screenshare); 348 RunTest(screenshare);
348 } 349 }
349 350
350 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) { 351 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) {
351 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment); 352 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment);
352 VideoQualityTest::Params screenshare; 353 VideoQualityTest::Params screenshare;
353 screenshare.call.send_side_bwe = true; 354 screenshare.call.send_side_bwe = true;
354 screenshare.screenshare = {true, 10}; 355 screenshare.screenshare = {true, 10};
355 screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, 356 screenshare.video = {true, 1850, 1110, 5, 800000,
356 2500000, false, "VP8", 3, 2, 400000, 357 2500000, 2500000, false, "VP8", 3,
357 false, false, "", ""}; 358 2, 400000, false, false, ""};
358 screenshare.analyzer = {"screenshare_slides_simulcast", 0.0, 0.0, 359 screenshare.analyzer = {"screenshare_slides_simulcast", 0.0, 0.0,
359 kFullStackTestDurationSecs}; 360 kFullStackTestDurationSecs};
360 VideoQualityTest::Params screenshare_params_high; 361 VideoQualityTest::Params screenshare_params_high;
361 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, 2500000, 362 screenshare_params_high.video = {true, 1850, 1110, 5, 800000,
362 2500000, false, "VP8", 3, 0, 400000, 363 2500000, 2500000, false, "VP8", 3,
363 false, false, "", ""}; 364 0, 400000, false, false, ""};
364 VideoQualityTest::Params screenshare_params_low; 365 VideoQualityTest::Params screenshare_params_low;
365 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, 366 screenshare_params_low.video = {true, 1850, 1110, 5, 50000,
366 2000000, false, "VP8", 2, 0, 400000, 367 200000, 2000000, false, "VP8", 2,
367 false, false, "", ""}; 368 0, 400000, false, false, ""};
368 369
369 std::vector<VideoStream> streams = { 370 std::vector<VideoStream> streams = {
370 DefaultVideoStream(screenshare_params_low), 371 DefaultVideoStream(screenshare_params_low),
371 DefaultVideoStream(screenshare_params_high)}; 372 DefaultVideoStream(screenshare_params_high)};
372 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; 373 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false};
373 RunTest(screenshare); 374 RunTest(screenshare);
374 } 375 }
375 376
376 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { 377 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) {
377 VideoQualityTest::Params config; 378 VideoQualityTest::Params config;
378 config.call.send_side_bwe = true; 379 config.call.send_side_bwe = true;
379 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, 380 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false,
380 "VP8", 2, 1, 400000, false, false, "", ""}; 381 "VP8", 2, 1, 400000, false, false, ""};
381 config.screenshare = {true, 10, 2}; 382 config.screenshare = {true, 10, 2};
382 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, 383 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0,
383 kFullStackTestDurationSecs}; 384 kFullStackTestDurationSecs};
384 RunTest(config); 385 RunTest(config);
385 } 386 }
386 387
387 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { 388 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) {
388 VideoQualityTest::Params screenshare; 389 VideoQualityTest::Params screenshare;
389 screenshare.call.send_side_bwe = true; 390 screenshare.call.send_side_bwe = true;
390 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 391 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
391 "VP8", 2, 1, 400000, false, false, "", ""}; 392 "VP8", 2, 1, 400000, false, false, ""};
392 screenshare.screenshare = {true, 10}; 393 screenshare.screenshare = {true, 10};
393 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, 394 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0,
394 kFullStackTestDurationSecs}; 395 kFullStackTestDurationSecs};
395 screenshare.pipe.loss_percent = 5; 396 screenshare.pipe.loss_percent = 5;
396 screenshare.pipe.queue_delay_ms = 200; 397 screenshare.pipe.queue_delay_ms = 200;
397 screenshare.pipe.link_capacity_kbps = 500; 398 screenshare.pipe.link_capacity_kbps = 500;
398 RunTest(screenshare); 399 RunTest(screenshare);
399 } 400 }
400 401
401 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { 402 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) {
402 VideoQualityTest::Params screenshare; 403 VideoQualityTest::Params screenshare;
403 screenshare.call.send_side_bwe = true; 404 screenshare.call.send_side_bwe = true;
404 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 405 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
405 "VP8", 2, 1, 400000, false, false, "", ""}; 406 "VP8", 2, 1, 400000, false, false, ""};
406 screenshare.screenshare = {true, 10}; 407 screenshare.screenshare = {true, 10};
407 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, 408 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0,
408 kFullStackTestDurationSecs}; 409 kFullStackTestDurationSecs};
409 screenshare.pipe.loss_percent = 10; 410 screenshare.pipe.loss_percent = 10;
410 screenshare.pipe.queue_delay_ms = 200; 411 screenshare.pipe.queue_delay_ms = 200;
411 screenshare.pipe.link_capacity_kbps = 500; 412 screenshare.pipe.link_capacity_kbps = 500;
412 RunTest(screenshare); 413 RunTest(screenshare);
413 } 414 }
414 415
415 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) { 416 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) {
416 VideoQualityTest::Params screenshare; 417 VideoQualityTest::Params screenshare;
417 screenshare.call.send_side_bwe = true; 418 screenshare.call.send_side_bwe = true;
418 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 419 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
419 "VP8", 2, 1, 400000, false, false, "", ""}; 420 "VP8", 2, 1, 400000, false, false, ""};
420 screenshare.screenshare = {true, 10}; 421 screenshare.screenshare = {true, 10};
421 screenshare.analyzer = {"screenshare_slides_lossy_limited", 0.0, 0.0, 422 screenshare.analyzer = {"screenshare_slides_lossy_limited", 0.0, 0.0,
422 kFullStackTestDurationSecs}; 423 kFullStackTestDurationSecs};
423 screenshare.pipe.loss_percent = 5; 424 screenshare.pipe.loss_percent = 5;
424 screenshare.pipe.link_capacity_kbps = 200; 425 screenshare.pipe.link_capacity_kbps = 200;
425 screenshare.pipe.queue_length_packets = 30; 426 screenshare.pipe.queue_length_packets = 30;
426 427
427 RunTest(screenshare); 428 RunTest(screenshare);
428 } 429 }
429 430
430 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) { 431 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) {
431 VideoQualityTest::Params screenshare; 432 VideoQualityTest::Params screenshare;
432 screenshare.call.send_side_bwe = true; 433 screenshare.call.send_side_bwe = true;
433 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 434 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
434 "VP8", 2, 1, 400000, false, false, "", ""}; 435 "VP8", 2, 1, 400000, false, false, ""};
435 screenshare.screenshare = {true, 10}; 436 screenshare.screenshare = {true, 10};
436 screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0, 437 screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0,
437 kFullStackTestDurationSecs}; 438 kFullStackTestDurationSecs};
438 screenshare.pipe.loss_percent = 1; 439 screenshare.pipe.loss_percent = 1;
439 screenshare.pipe.link_capacity_kbps = 1200; 440 screenshare.pipe.link_capacity_kbps = 1200;
440 screenshare.pipe.queue_length_packets = 30; 441 screenshare.pipe.queue_length_packets = 30;
441 442
442 RunTest(screenshare); 443 RunTest(screenshare);
443 } 444 }
444 445
445 // TODO(sprang): Retire these tests once experiment is removed. 446 // TODO(sprang): Retire these tests once experiment is removed.
446 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue_ALR) { 447 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue_ALR) {
447 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); 448 test::ScopedFieldTrials field_trial(kAlrProbingExperiment);
448 VideoQualityTest::Params screenshare; 449 VideoQualityTest::Params screenshare;
449 screenshare.call.send_side_bwe = true; 450 screenshare.call.send_side_bwe = true;
450 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 451 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
451 "VP8", 2, 1, 400000, false, false, "", ""}; 452 "VP8", 2, 1, 400000, false, false, ""};
452 screenshare.screenshare = {true, 10}; 453 screenshare.screenshare = {true, 10};
453 screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0, 454 screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0,
454 kFullStackTestDurationSecs}; 455 kFullStackTestDurationSecs};
455 screenshare.pipe.loss_percent = 5; 456 screenshare.pipe.loss_percent = 5;
456 screenshare.pipe.link_capacity_kbps = 200; 457 screenshare.pipe.link_capacity_kbps = 200;
457 screenshare.pipe.queue_length_packets = 30; 458 screenshare.pipe.queue_length_packets = 30;
458 459
459 RunTest(screenshare); 460 RunTest(screenshare);
460 } 461 }
461 462
462 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ALR) { 463 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ALR) {
463 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); 464 test::ScopedFieldTrials field_trial(kAlrProbingExperiment);
464 VideoQualityTest::Params screenshare; 465 VideoQualityTest::Params screenshare;
465 screenshare.call.send_side_bwe = true; 466 screenshare.call.send_side_bwe = true;
466 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 467 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
467 "VP8", 2, 1, 400000, false, false, "", ""}; 468 "VP8", 2, 1, 400000, false, false, ""};
468 screenshare.screenshare = {true, 10}; 469 screenshare.screenshare = {true, 10};
469 screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0, 470 screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0,
470 kFullStackTestDurationSecs}; 471 kFullStackTestDurationSecs};
471 RunTest(screenshare); 472 RunTest(screenshare);
472 } 473 }
473 474
474 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted_ALR) { 475 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted_ALR) {
475 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); 476 test::ScopedFieldTrials field_trial(kAlrProbingExperiment);
476 VideoQualityTest::Params screenshare; 477 VideoQualityTest::Params screenshare;
477 screenshare.call.send_side_bwe = true; 478 screenshare.call.send_side_bwe = true;
478 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 479 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
479 "VP8", 2, 1, 400000, false, false, "", ""}; 480 "VP8", 2, 1, 400000, false, false, ""};
480 screenshare.screenshare = {true, 10}; 481 screenshare.screenshare = {true, 10};
481 screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0, 482 screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0,
482 0.0, kFullStackTestDurationSecs}; 483 0.0, kFullStackTestDurationSecs};
483 screenshare.pipe.loss_percent = 1; 484 screenshare.pipe.loss_percent = 1;
484 screenshare.pipe.link_capacity_kbps = 1200; 485 screenshare.pipe.link_capacity_kbps = 1200;
485 screenshare.pipe.queue_length_packets = 30; 486 screenshare.pipe.queue_length_packets = 30;
486 487
487 RunTest(screenshare); 488 RunTest(screenshare);
488 } 489 }
489 490
490 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast_ALR) { 491 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast_ALR) {
491 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment + 492 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment +
492 kAlrProbingExperiment); 493 kAlrProbingExperiment);
493 VideoQualityTest::Params screenshare; 494 VideoQualityTest::Params screenshare;
494 screenshare.call.send_side_bwe = true; 495 screenshare.call.send_side_bwe = true;
495 screenshare.screenshare = {true, 10}; 496 screenshare.screenshare = {true, 10};
496 screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, 497 screenshare.video = {true, 1850, 1110, 5, 800000,
497 2500000, false, "VP8", 3, 2, 400000, 498 2500000, 2500000, false, "VP8", 3,
498 false, false, "", ""}; 499 2, 400000, false, false, ""};
499 screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0, 500 screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0,
500 kFullStackTestDurationSecs}; 501 kFullStackTestDurationSecs};
501 VideoQualityTest::Params screenshare_params_high; 502 VideoQualityTest::Params screenshare_params_high;
502 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, 2500000, 503 screenshare_params_high.video = {true, 1850, 1110, 5, 800000,
503 2500000, false, "VP8", 3, 0, 400000, 504 2500000, 2500000, false, "VP8", 3,
504 false, false, "", ""}; 505 0, 400000, false, false, ""};
505 VideoQualityTest::Params screenshare_params_low; 506 VideoQualityTest::Params screenshare_params_low;
506 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, 507 screenshare_params_low.video = {true, 1850, 1110, 5, 50000,
507 2000000, false, "VP8", 2, 0, 400000, 508 200000, 2000000, false, "VP8", 2,
508 false, false, "", ""}; 509 0, 400000, false, false, ""};
509 510
510 std::vector<VideoStream> streams = { 511 std::vector<VideoStream> streams = {
511 DefaultVideoStream(screenshare_params_low), 512 DefaultVideoStream(screenshare_params_low),
512 DefaultVideoStream(screenshare_params_high)}; 513 DefaultVideoStream(screenshare_params_high)};
513 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; 514 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false};
514 RunTest(screenshare); 515 RunTest(screenshare);
515 } 516 }
516 517
517 const VideoQualityTest::Params::Video kSvcVp9Video = { 518 const VideoQualityTest::Params::Video kSvcVp9Video = {
518 true, 1280, 720, 30, 519 true, 1280, 720, 30, 800000,
519 800000, 2500000, 2500000, false, 520 2500000, 2500000, false, "VP9", 3,
520 "VP9", 3, 2, 400000, 521 2, 400000, false, false, "ConferenceMotion_1280_720_50"};
521 false, false, "", "ConferenceMotion_1280_720_50"};
522 522
523 const VideoQualityTest::Params::Video kSimulcastVp8VideoHigh = { 523 const VideoQualityTest::Params::Video kSimulcastVp8VideoHigh = {
524 true, 1280, 720, 30, 524 true, 1280, 720, 30, 800000,
525 800000, 2500000, 2500000, false, 525 2500000, 2500000, false, "VP8", 3,
526 "VP8", 3, 2, 400000, 526 2, 400000, false, false, "ConferenceMotion_1280_720_50"};
527 false, false, "", "ConferenceMotion_1280_720_50"};
528 527
529 const VideoQualityTest::Params::Video kSimulcastVp8VideoMedium = { 528 const VideoQualityTest::Params::Video kSimulcastVp8VideoMedium = {
530 true, 640, 360, 30, 529 true, 640, 360, 30, 150000,
531 150000, 500000, 700000, false, 530 500000, 700000, false, "VP8", 3,
532 "VP8", 3, 2, 400000, 531 2, 400000, false, false, "ConferenceMotion_1280_720_50"};
533 false, false, "", "ConferenceMotion_1280_720_50"};
534 532
535 const VideoQualityTest::Params::Video kSimulcastVp8VideoLow = { 533 const VideoQualityTest::Params::Video kSimulcastVp8VideoLow = {
536 true, 320, 180, 30, 534 true, 320, 180, 30, 30000,
537 30000, 150000, 200000, false, 535 150000, 200000, false, "VP8", 3,
538 "VP8", 3, 2, 400000, 536 2, 400000, false, false, "ConferenceMotion_1280_720_50"};
539 false, false, "", "ConferenceMotion_1280_720_50"};
540 537
541 #if !defined(RTC_DISABLE_VP9) 538 #if !defined(RTC_DISABLE_VP9)
542 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { 539 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) {
543 VideoQualityTest::Params screenshare; 540 VideoQualityTest::Params screenshare;
544 screenshare.call.send_side_bwe = true; 541 screenshare.call.send_side_bwe = true;
545 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 542 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
546 "VP9", 1, 0, 400000, false, false, "", ""}; 543 "VP9", 1, 0, 400000, false, false, ""};
547 screenshare.screenshare = {true, 10}; 544 screenshare.screenshare = {true, 10};
548 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, 545 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0,
549 kFullStackTestDurationSecs}; 546 kFullStackTestDurationSecs};
550 screenshare.logs = false;
551 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1, 547 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1,
552 std::vector<SpatialLayer>(), false}; 548 std::vector<SpatialLayer>(), false};
553 RunTest(screenshare); 549 RunTest(screenshare);
554 } 550 }
555 551
556 TEST_F(FullStackTest, VP9SVC_3SL_High) { 552 TEST_F(FullStackTest, VP9SVC_3SL_High) {
557 VideoQualityTest::Params simulcast; 553 VideoQualityTest::Params simulcast;
558 simulcast.call.send_side_bwe = true; 554 simulcast.call.send_side_bwe = true;
559 simulcast.video = kSvcVp9Video; 555 simulcast.video = kSvcVp9Video;
560 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0, 556 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0,
561 kFullStackTestDurationSecs}; 557 kFullStackTestDurationSecs};
562 simulcast.logs = false;
563 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2, 558 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2,
564 std::vector<SpatialLayer>(), false}; 559 std::vector<SpatialLayer>(), false};
565 RunTest(simulcast); 560 RunTest(simulcast);
566 } 561 }
567 562
568 TEST_F(FullStackTest, VP9SVC_3SL_Medium) { 563 TEST_F(FullStackTest, VP9SVC_3SL_Medium) {
569 VideoQualityTest::Params simulcast; 564 VideoQualityTest::Params simulcast;
570 simulcast.call.send_side_bwe = true; 565 simulcast.call.send_side_bwe = true;
571 simulcast.video = kSvcVp9Video; 566 simulcast.video = kSvcVp9Video;
572 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0, 567 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0,
573 kFullStackTestDurationSecs}; 568 kFullStackTestDurationSecs};
574 simulcast.logs = false;
575 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1, 569 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1,
576 std::vector<SpatialLayer>(), false}; 570 std::vector<SpatialLayer>(), false};
577 RunTest(simulcast); 571 RunTest(simulcast);
578 } 572 }
579 573
580 TEST_F(FullStackTest, VP9SVC_3SL_Low) { 574 TEST_F(FullStackTest, VP9SVC_3SL_Low) {
581 VideoQualityTest::Params simulcast; 575 VideoQualityTest::Params simulcast;
582 simulcast.call.send_side_bwe = true; 576 simulcast.call.send_side_bwe = true;
583 simulcast.video = kSvcVp9Video; 577 simulcast.video = kSvcVp9Video;
584 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs}; 578 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs};
585 simulcast.logs = false;
586 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0, 579 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0,
587 std::vector<SpatialLayer>(), false}; 580 std::vector<SpatialLayer>(), false};
588 RunTest(simulcast); 581 RunTest(simulcast);
589 } 582 }
590 #endif // !defined(RTC_DISABLE_VP9) 583 #endif // !defined(RTC_DISABLE_VP9)
591 584
592 // Android bots can't handle FullHD, so disable the test. 585 // Android bots can't handle FullHD, so disable the test.
593 #if defined(WEBRTC_ANDROID) 586 #if defined(WEBRTC_ANDROID)
594 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse 587 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse
595 #else 588 #else
596 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse 589 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse
597 #endif 590 #endif
598 591
599 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) { 592 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) {
600 VideoQualityTest::Params simulcast; 593 VideoQualityTest::Params simulcast;
601 simulcast.call.send_side_bwe = true; 594 simulcast.call.send_side_bwe = true;
602 simulcast.video = {true, 1920, 1080, 30, 800000, 2500000, 595 simulcast.video = {true, 1920, 1080, 30, 800000,
603 2500000, false, "VP8", 3, 2, 400000, 596 2500000, 2500000, false, "VP8", 3,
604 false, false, "", "Generator"}; 597 2, 400000, false, false, "Generator"};
605 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0, 598 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0,
606 kFullStackTestDurationSecs}; 599 kFullStackTestDurationSecs};
607 simulcast.pipe.loss_percent = 0; 600 simulcast.pipe.loss_percent = 0;
608 simulcast.pipe.queue_delay_ms = 100; 601 simulcast.pipe.queue_delay_ms = 100;
609 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast), 602 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast),
610 DefaultVideoStream(simulcast), 603 DefaultVideoStream(simulcast),
611 DefaultVideoStream(simulcast)}; 604 DefaultVideoStream(simulcast)};
612 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true}; 605 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true};
613 webrtc::test::ScopedFieldTrials override_trials( 606 webrtc::test::ScopedFieldTrials override_trials(
614 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/"); 607 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/");
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 VideoQualityTest::Params video_params_high; 685 VideoQualityTest::Params video_params_high;
693 video_params_high.video = kSimulcastVp8VideoHigh; 686 video_params_high.video = kSimulcastVp8VideoHigh;
694 VideoQualityTest::Params video_params_medium; 687 VideoQualityTest::Params video_params_medium;
695 video_params_medium.video = kSimulcastVp8VideoMedium; 688 video_params_medium.video = kSimulcastVp8VideoMedium;
696 VideoQualityTest::Params video_params_low; 689 VideoQualityTest::Params video_params_low;
697 video_params_low.video = kSimulcastVp8VideoLow; 690 video_params_low.video = kSimulcastVp8VideoLow;
698 691
699 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), 692 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low),
700 DefaultVideoStream(video_params_medium), 693 DefaultVideoStream(video_params_medium),
701 DefaultVideoStream(video_params_high)}; 694 DefaultVideoStream(video_params_high)};
702 large_room.num_thumbnails = 5; 695 large_room.call.num_thumbnails = 5;
703 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; 696 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false};
704 RunTest(large_room); 697 RunTest(large_room);
705 } 698 }
706 699
707 #if defined(WEBRTC_ANDROID) 700 #if defined(WEBRTC_ANDROID)
708 // Fails on Android: 701 // Fails on Android:
709 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7301 702 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7301
710 #define MAYBE_LargeRoomVP8_50thumb DISABLED_LargeRoomVP8_50thumb 703 #define MAYBE_LargeRoomVP8_50thumb DISABLED_LargeRoomVP8_50thumb
711 #define MAYBE_LargeRoomVP8_15thumb DISABLED_LargeRoomVP8_15thumb 704 #define MAYBE_LargeRoomVP8_15thumb DISABLED_LargeRoomVP8_15thumb
712 #else 705 #else
(...skipping 12 matching lines...) Expand all
725 VideoQualityTest::Params video_params_high; 718 VideoQualityTest::Params video_params_high;
726 video_params_high.video = kSimulcastVp8VideoHigh; 719 video_params_high.video = kSimulcastVp8VideoHigh;
727 VideoQualityTest::Params video_params_medium; 720 VideoQualityTest::Params video_params_medium;
728 video_params_medium.video = kSimulcastVp8VideoMedium; 721 video_params_medium.video = kSimulcastVp8VideoMedium;
729 VideoQualityTest::Params video_params_low; 722 VideoQualityTest::Params video_params_low;
730 video_params_low.video = kSimulcastVp8VideoLow; 723 video_params_low.video = kSimulcastVp8VideoLow;
731 724
732 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), 725 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low),
733 DefaultVideoStream(video_params_medium), 726 DefaultVideoStream(video_params_medium),
734 DefaultVideoStream(video_params_high)}; 727 DefaultVideoStream(video_params_high)};
735 large_room.num_thumbnails = 15; 728 large_room.call.num_thumbnails = 15;
736 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; 729 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false};
737 RunTest(large_room); 730 RunTest(large_room);
738 } 731 }
739 732
740 TEST_F(FullStackTest, MAYBE_LargeRoomVP8_50thumb) { 733 TEST_F(FullStackTest, MAYBE_LargeRoomVP8_50thumb) {
741 VideoQualityTest::Params large_room; 734 VideoQualityTest::Params large_room;
742 large_room.call.send_side_bwe = true; 735 large_room.call.send_side_bwe = true;
743 large_room.video = kSimulcastVp8VideoHigh; 736 large_room.video = kSimulcastVp8VideoHigh;
744 large_room.analyzer = {"largeroom_50thumb", 0.0, 0.0, 737 large_room.analyzer = {"largeroom_50thumb", 0.0, 0.0,
745 kFullStackTestDurationSecs}; 738 kFullStackTestDurationSecs};
746 large_room.pipe.loss_percent = 0; 739 large_room.pipe.loss_percent = 0;
747 large_room.pipe.queue_delay_ms = 100; 740 large_room.pipe.queue_delay_ms = 100;
748 VideoQualityTest::Params video_params_high; 741 VideoQualityTest::Params video_params_high;
749 video_params_high.video = kSimulcastVp8VideoHigh; 742 video_params_high.video = kSimulcastVp8VideoHigh;
750 VideoQualityTest::Params video_params_medium; 743 VideoQualityTest::Params video_params_medium;
751 video_params_medium.video = kSimulcastVp8VideoMedium; 744 video_params_medium.video = kSimulcastVp8VideoMedium;
752 VideoQualityTest::Params video_params_low; 745 VideoQualityTest::Params video_params_low;
753 video_params_low.video = kSimulcastVp8VideoLow; 746 video_params_low.video = kSimulcastVp8VideoLow;
754 747
755 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), 748 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low),
756 DefaultVideoStream(video_params_medium), 749 DefaultVideoStream(video_params_medium),
757 DefaultVideoStream(video_params_high)}; 750 DefaultVideoStream(video_params_high)};
758 large_room.num_thumbnails = 50; 751 large_room.call.num_thumbnails = 50;
759 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; 752 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false};
760 RunTest(large_room); 753 RunTest(large_room);
761 } 754 }
762 755
763 756
764 } // namespace webrtc 757 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/BUILD.gn ('k') | webrtc/video/screenshare_loopback.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698