blob: f1d115005c2d9896cf910a3a8d4a51096bfec28b [file] [log] [blame]
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +00001/*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10#include <stdio.h>
11
kwiberg77eab702016-09-28 17:42:01 -070012#include "webrtc/test/gtest.h"
ivica5d6a06c2015-09-17 05:30:24 -070013#include "webrtc/video/video_quality_test.h"
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000014
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000015namespace webrtc {
16
brandtrdd369c62016-11-16 23:56:57 -080017static const int kFullStackTestDurationSecs = 45;
pbos@webrtc.orgb613b5a2013-12-03 10:13:04 +000018
ivica5d6a06c2015-09-17 05:30:24 -070019class FullStackTest : public VideoQualityTest {
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000020 public:
ivica5d6a06c2015-09-17 05:30:24 -070021 void RunTest(const VideoQualityTest::Params &params) {
22 RunWithAnalyzer(params);
pbos@webrtc.org94015242013-10-16 11:05:37 +000023 }
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000024};
25
sprangce4aef12015-11-02 07:23:20 -080026// VideoQualityTest::Params params = {
27// { ... }, // Common.
28// { ... }, // Video-specific settings.
29// { ... }, // Screenshare-specific settings.
30// { ... }, // Analyzer settings.
31// pipe, // FakeNetworkPipe::Config
32// { ... }, // Spatial scalability.
33// logs // bool
34// };
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000035
Peter Boström12996152016-05-14 02:03:18 +020036#if !defined(RTC_DISABLE_VP9)
asapersson88b0a222016-02-12 13:16:43 -080037TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) {
brandtr93c5d032016-11-30 07:50:07 -080038 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
39 VideoQualityTest::Params foreman_cif;
40 foreman_cif.call.send_side_bwe = true;
41 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false,
42 "VP9", 1, 0, 0, false, false, "", "foreman_cif"};
43 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_VP9", 0.0, 0.0,
44 kFullStackTestDurationSecs};
45 RunTest(foreman_cif);
asapersson88b0a222016-02-12 13:16:43 -080046}
47
48TEST_F(FullStackTest, ForemanCifPlr5Vp9) {
brandtr93c5d032016-11-30 07:50:07 -080049 VideoQualityTest::Params foreman_cif;
50 foreman_cif.call.send_side_bwe = true;
51 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
52 "VP9", 1, 0, 0, false, false, "", "foreman_cif"};
53 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_VP9", 0.0, 0.0,
54 kFullStackTestDurationSecs};
55 foreman_cif.pipe.loss_percent = 5;
56 foreman_cif.pipe.queue_delay_ms = 50;
57 RunTest(foreman_cif);
asapersson88b0a222016-02-12 13:16:43 -080058}
Peter Boström12996152016-05-14 02:03:18 +020059#endif // !defined(RTC_DISABLE_VP9)
asapersson88b0a222016-02-12 13:16:43 -080060
pbos@webrtc.org994d0b72014-06-27 08:47:52 +000061TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) {
minyue626bc952016-10-31 05:47:02 -070062 VideoQualityTest::Params paris_qcif;
63 paris_qcif.call.send_side_bwe = true;
64 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false,
brandtr1293aca2016-11-16 22:47:29 -080065 "VP8", 1, 0, 0, false, false, "", "paris_qcif"};
minyue626bc952016-10-31 05:47:02 -070066 paris_qcif.analyzer = {"net_delay_0_0_plr_0", 36.0, 0.96,
67 kFullStackTestDurationSecs};
stefan@webrtc.orgb8e9e442014-07-09 11:29:06 +000068 RunTest(paris_qcif);
pbos@webrtc.org994d0b72014-06-27 08:47:52 +000069}
70
71TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) {
stefan@webrtc.orgb8e9e442014-07-09 11:29:06 +000072 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
minyue626bc952016-10-31 05:47:02 -070073 VideoQualityTest::Params foreman_cif;
74 foreman_cif.call.send_side_bwe = true;
75 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, "VP8",
brandtr1293aca2016-11-16 22:47:29 -080076 1, 0, 0, false, false, "", "foreman_cif"};
minyue626bc952016-10-31 05:47:02 -070077 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0,
78 kFullStackTestDurationSecs};
stefan@webrtc.orgb8e9e442014-07-09 11:29:06 +000079 RunTest(foreman_cif);
pbos@webrtc.org994d0b72014-06-27 08:47:52 +000080}
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000081
asaperssonfb6ad3b2016-12-16 06:54:01 -080082TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) {
83 VideoQualityTest::Params foreman_cif;
84 foreman_cif.call.send_side_bwe = true;
85 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false,
86 "VP8", 1, 0, 0, false, false, "", "foreman_cif"};
87 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0", 0.0, 0.0,
88 kFullStackTestDurationSecs};
89 RunTest(foreman_cif);
90}
91
sprang@webrtc.org343096a2015-02-23 08:34:17 +000092TEST_F(FullStackTest, ForemanCifPlr5) {
minyue626bc952016-10-31 05:47:02 -070093 VideoQualityTest::Params foreman_cif;
94 foreman_cif.call.send_side_bwe = true;
95 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8",
brandtr1293aca2016-11-16 22:47:29 -080096 1, 0, 0, false, false, "", "foreman_cif"};
minyue626bc952016-10-31 05:47:02 -070097 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0,
98 kFullStackTestDurationSecs};
ivica5d6a06c2015-09-17 05:30:24 -070099 foreman_cif.pipe.loss_percent = 5;
100 foreman_cif.pipe.queue_delay_ms = 50;
stefan@webrtc.orgc216b9a2014-10-14 10:38:49 +0000101 RunTest(foreman_cif);
102}
103
brandtr93c5d032016-11-30 07:50:07 -0800104TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) {
105 VideoQualityTest::Params foreman_cif;
106 foreman_cif.call.send_side_bwe = true;
107 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8",
108 1, 0, 0, true, false, "", "foreman_cif"};
109 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_ulpfec", 0.0, 0.0,
110 kFullStackTestDurationSecs};
111 foreman_cif.pipe.loss_percent = 5;
112 foreman_cif.pipe.queue_delay_ms = 50;
113 RunTest(foreman_cif);
114}
115
116TEST_F(FullStackTest, ForemanCifPlr5Flexfec) {
117 VideoQualityTest::Params foreman_cif;
118 foreman_cif.call.send_side_bwe = true;
119 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8",
120 1, 0, 0, false, true, "", "foreman_cif"};
121 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_flexfec", 0.0, 0.0,
122 kFullStackTestDurationSecs};
123 foreman_cif.pipe.loss_percent = 5;
124 foreman_cif.pipe.queue_delay_ms = 50;
125 RunTest(foreman_cif);
126}
127
brandtrdd369c62016-11-16 23:56:57 -0800128#if defined(WEBRTC_USE_H264)
129TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) {
brandtr93c5d032016-11-30 07:50:07 -0800130 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
131 VideoQualityTest::Params foreman_cif;
132 foreman_cif.call.send_side_bwe = true;
133 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false,
134 "H264", 1, 0, 0, false, false, "", "foreman_cif"};
135 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_H264", 0.0, 0.0,
136 kFullStackTestDurationSecs};
137 RunTest(foreman_cif);
brandtrdd369c62016-11-16 23:56:57 -0800138}
139
asaperssonfb6ad3b2016-12-16 06:54:01 -0800140TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) {
141 VideoQualityTest::Params foreman_cif;
142 foreman_cif.call.send_side_bwe = true;
143 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, "H264",
144 1, 0, 0, false, false, "", "foreman_cif"};
145 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0_H264", 0.0,
146 0.0, kFullStackTestDurationSecs};
147 RunTest(foreman_cif);
148}
149
brandtrdd369c62016-11-16 23:56:57 -0800150TEST_F(FullStackTest, ForemanCifPlr5H264) {
brandtr93c5d032016-11-30 07:50:07 -0800151 VideoQualityTest::Params foreman_cif;
152 foreman_cif.call.send_side_bwe = true;
153 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
154 "H264", 1, 0, 0, false, false, "", "foreman_cif"};
155 std::string fec_description;
156 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264", 0.0, 0.0,
157 kFullStackTestDurationSecs};
158 foreman_cif.pipe.loss_percent = 5;
159 foreman_cif.pipe.queue_delay_ms = 50;
160 RunTest(foreman_cif);
brandtrdd369c62016-11-16 23:56:57 -0800161}
162
163// Verify that this is worth the bot time, before enabling.
164TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) {
brandtr93c5d032016-11-30 07:50:07 -0800165 VideoQualityTest::Params foreman_cif;
166 foreman_cif.call.send_side_bwe = true;
167 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
168 "H264", 1, 0, 0, false, true, "", "foreman_cif"};
169 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_flexfec", 0.0, 0.0,
170 kFullStackTestDurationSecs};
171 foreman_cif.pipe.loss_percent = 5;
172 foreman_cif.pipe.queue_delay_ms = 50;
173 RunTest(foreman_cif);
brandtrdd369c62016-11-16 23:56:57 -0800174}
175
176// Ulpfec with H264 is an unsupported combination, so this test is only useful
177// for debugging. It is therefore disabled by default.
178TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) {
brandtr93c5d032016-11-30 07:50:07 -0800179 VideoQualityTest::Params foreman_cif;
180 foreman_cif.call.send_side_bwe = true;
181 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
182 "H264", 1, 0, 0, true, false, "", "foreman_cif"};
183 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_ulpfec", 0.0, 0.0,
184 kFullStackTestDurationSecs};
185 foreman_cif.pipe.loss_percent = 5;
186 foreman_cif.pipe.queue_delay_ms = 50;
187 RunTest(foreman_cif);
brandtrdd369c62016-11-16 23:56:57 -0800188}
189#endif // defined(WEBRTC_USE_H264)
190
stefan@webrtc.orgb8e9e442014-07-09 11:29:06 +0000191TEST_F(FullStackTest, ForemanCif500kbps) {
minyue626bc952016-10-31 05:47:02 -0700192 VideoQualityTest::Params foreman_cif;
193 foreman_cif.call.send_side_bwe = true;
194 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8",
brandtr1293aca2016-11-16 22:47:29 -0800195 1, 0, 0, false, false, "", "foreman_cif"};
minyue626bc952016-10-31 05:47:02 -0700196 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0,
197 kFullStackTestDurationSecs};
ivica5d6a06c2015-09-17 05:30:24 -0700198 foreman_cif.pipe.queue_length_packets = 0;
199 foreman_cif.pipe.queue_delay_ms = 0;
200 foreman_cif.pipe.link_capacity_kbps = 500;
stefan@webrtc.orgb8e9e442014-07-09 11:29:06 +0000201 RunTest(foreman_cif);
202}
203
204TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) {
minyue626bc952016-10-31 05:47:02 -0700205 VideoQualityTest::Params foreman_cif;
206 foreman_cif.call.send_side_bwe = true;
207 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8",
brandtr1293aca2016-11-16 22:47:29 -0800208 1, 0, 0, false, false, "", "foreman_cif"};
minyue626bc952016-10-31 05:47:02 -0700209 foreman_cif.analyzer = {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0,
210 kFullStackTestDurationSecs};
ivica5d6a06c2015-09-17 05:30:24 -0700211 foreman_cif.pipe.queue_length_packets = 32;
212 foreman_cif.pipe.queue_delay_ms = 0;
213 foreman_cif.pipe.link_capacity_kbps = 500;
stefan@webrtc.orgb8e9e442014-07-09 11:29:06 +0000214 RunTest(foreman_cif);
215}
216
217TEST_F(FullStackTest, ForemanCif500kbps100ms) {
minyue626bc952016-10-31 05:47:02 -0700218 VideoQualityTest::Params foreman_cif;
219 foreman_cif.call.send_side_bwe = true;
220 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8",
brandtr1293aca2016-11-16 22:47:29 -0800221 1, 0, 0, false, false, "", "foreman_cif"};
minyue626bc952016-10-31 05:47:02 -0700222 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0,
223 kFullStackTestDurationSecs};
ivica5d6a06c2015-09-17 05:30:24 -0700224 foreman_cif.pipe.queue_length_packets = 0;
225 foreman_cif.pipe.queue_delay_ms = 100;
226 foreman_cif.pipe.link_capacity_kbps = 500;
stefan@webrtc.orgb8e9e442014-07-09 11:29:06 +0000227 RunTest(foreman_cif);
228}
229
230TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) {
minyue626bc952016-10-31 05:47:02 -0700231 VideoQualityTest::Params foreman_cif;
232 foreman_cif.call.send_side_bwe = true;
233 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8",
brandtr1293aca2016-11-16 22:47:29 -0800234 1, 0, 0, false, false, "", "foreman_cif"};
minyue626bc952016-10-31 05:47:02 -0700235 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0,
236 kFullStackTestDurationSecs};
stefanb1797672016-08-11 07:00:57 -0700237 foreman_cif.pipe.queue_length_packets = 32;
238 foreman_cif.pipe.queue_delay_ms = 100;
239 foreman_cif.pipe.link_capacity_kbps = 500;
240 RunTest(foreman_cif);
241}
242
243TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) {
minyue626bc952016-10-31 05:47:02 -0700244 VideoQualityTest::Params foreman_cif;
brandtr93c5d032016-11-30 07:50:07 -0800245 foreman_cif.call.send_side_bwe = false;
minyue626bc952016-10-31 05:47:02 -0700246 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8",
brandtr1293aca2016-11-16 22:47:29 -0800247 1, 0, 0, false, false, "", "foreman_cif"};
brandtr93c5d032016-11-30 07:50:07 -0800248 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe",
249 0.0, 0.0, kFullStackTestDurationSecs};
ivica5d6a06c2015-09-17 05:30:24 -0700250 foreman_cif.pipe.queue_length_packets = 32;
251 foreman_cif.pipe.queue_delay_ms = 100;
252 foreman_cif.pipe.link_capacity_kbps = 500;
stefan@webrtc.orgb8e9e442014-07-09 11:29:06 +0000253 RunTest(foreman_cif);
254}
255
256TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) {
minyue626bc952016-10-31 05:47:02 -0700257 VideoQualityTest::Params foreman_cif;
258 foreman_cif.call.send_side_bwe = true;
259 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false,
brandtr1293aca2016-11-16 22:47:29 -0800260 "VP8", 1, 0, 0, false, false, "", "foreman_cif"};
minyue626bc952016-10-31 05:47:02 -0700261 foreman_cif.analyzer = {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0,
262 kFullStackTestDurationSecs};
ivica5d6a06c2015-09-17 05:30:24 -0700263 foreman_cif.pipe.queue_length_packets = 32;
264 foreman_cif.pipe.queue_delay_ms = 100;
265 foreman_cif.pipe.link_capacity_kbps = 1000;
stefan@webrtc.orgb8e9e442014-07-09 11:29:06 +0000266 RunTest(foreman_cif);
267}
sprang@webrtc.org131bea82015-02-18 12:46:06 +0000268
stefanb1797672016-08-11 07:00:57 -0700269TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) {
minyue626bc952016-10-31 05:47:02 -0700270 VideoQualityTest::Params conf_motion_hd;
271 conf_motion_hd.call.send_side_bwe = true;
272 conf_motion_hd.video = {true, 1280, 720, 50, 30000, 3000000, 3000000, false,
brandtr1293aca2016-11-16 22:47:29 -0800273 "VP8", 1, 0, 0, false, false, "",
minyue626bc952016-10-31 05:47:02 -0700274 "ConferenceMotion_1280_720_50"};
275 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue",
276 0.0, 0.0, kFullStackTestDurationSecs};
stefanb1797672016-08-11 07:00:57 -0700277 conf_motion_hd.pipe.queue_length_packets = 32;
278 conf_motion_hd.pipe.queue_delay_ms = 100;
279 conf_motion_hd.pipe.link_capacity_kbps = 2000;
280 RunTest(conf_motion_hd);
281}
282
ivica7bd242e2015-10-06 02:04:06 -0700283TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) {
minyue626bc952016-10-31 05:47:02 -0700284 VideoQualityTest::Params screenshare;
285 screenshare.call.send_side_bwe = true;
286 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
brandtr1293aca2016-11-16 22:47:29 -0800287 "VP8", 2, 1, 400000, false, false, "", ""};
minyue626bc952016-10-31 05:47:02 -0700288 screenshare.screenshare = {true, 10};
289 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0,
290 kFullStackTestDurationSecs};
ivica5d6a06c2015-09-17 05:30:24 -0700291 RunTest(screenshare);
Erik Språng6ee69aa2015-09-03 15:58:05 +0200292}
293
ivica7bd242e2015-10-06 02:04:06 -0700294TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) {
minyue626bc952016-10-31 05:47:02 -0700295 VideoQualityTest::Params config;
296 config.call.send_side_bwe = true;
297 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false,
brandtr1293aca2016-11-16 22:47:29 -0800298 "VP8", 2, 1, 400000, false, false, "", ""};
minyue626bc952016-10-31 05:47:02 -0700299 config.screenshare = {true, 10, 2};
300 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0,
301 kFullStackTestDurationSecs};
ivica5d6a06c2015-09-17 05:30:24 -0700302 RunTest(config);
ivica028cf482015-07-30 02:15:56 -0700303}
304
sprangee37de32015-11-23 06:10:23 -0800305TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) {
minyue626bc952016-10-31 05:47:02 -0700306 VideoQualityTest::Params screenshare;
307 screenshare.call.send_side_bwe = true;
308 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
brandtr1293aca2016-11-16 22:47:29 -0800309 "VP8", 2, 1, 400000, false, false, "", ""};
minyue626bc952016-10-31 05:47:02 -0700310 screenshare.screenshare = {true, 10};
311 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0,
312 kFullStackTestDurationSecs};
sprangee37de32015-11-23 06:10:23 -0800313 screenshare.pipe.loss_percent = 5;
314 screenshare.pipe.queue_delay_ms = 200;
315 screenshare.pipe.link_capacity_kbps = 500;
316 RunTest(screenshare);
317}
318
319TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) {
minyue626bc952016-10-31 05:47:02 -0700320 VideoQualityTest::Params screenshare;
321 screenshare.call.send_side_bwe = true;
322 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
brandtr1293aca2016-11-16 22:47:29 -0800323 "VP8", 2, 1, 400000, false, false, "", ""};
minyue626bc952016-10-31 05:47:02 -0700324 screenshare.screenshare = {true, 10};
325 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0,
326 kFullStackTestDurationSecs};
sprangee37de32015-11-23 06:10:23 -0800327 screenshare.pipe.loss_percent = 10;
328 screenshare.pipe.queue_delay_ms = 200;
329 screenshare.pipe.link_capacity_kbps = 500;
330 RunTest(screenshare);
331}
332
Peter Boström12996152016-05-14 02:03:18 +0200333#if !defined(RTC_DISABLE_VP9)
philipelcfc319b2015-11-10 07:17:23 -0800334TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) {
minyue626bc952016-10-31 05:47:02 -0700335 VideoQualityTest::Params screenshare;
336 screenshare.call.send_side_bwe = true;
337 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
brandtr1293aca2016-11-16 22:47:29 -0800338 "VP9", 1, 0, 400000, false, false, "", ""};
minyue626bc952016-10-31 05:47:02 -0700339 screenshare.screenshare = {true, 10};
340 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0,
341 kFullStackTestDurationSecs};
342 screenshare.logs = false;
343 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1};
ivica5d6a06c2015-09-17 05:30:24 -0700344 RunTest(screenshare);
sprang@webrtc.org131bea82015-02-18 12:46:06 +0000345}
Peter Boström12996152016-05-14 02:03:18 +0200346#endif // !defined(RTC_DISABLE_VP9)
brandtr93c5d032016-11-30 07:50:07 -0800347
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +0000348} // namespace webrtc