OLD | NEW |
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> |
11 | 11 |
12 #include "webrtc/test/gtest.h" | 12 #include "webrtc/test/gtest.h" |
13 #include "webrtc/video/video_quality_test.h" | 13 #include "webrtc/video/video_quality_test.h" |
14 | 14 |
15 namespace webrtc { | 15 namespace webrtc { |
16 | 16 |
17 static const int kFullStackTestDurationSecs = 60; | 17 static const int kFullStackTestDurationSecs = 60; |
18 | 18 |
19 class FullStackTest : public VideoQualityTest { | 19 class FullStackTest : public VideoQualityTest { |
20 public: | 20 public: |
21 void RunTest(const VideoQualityTest::Params ¶ms) { | 21 void RunTest(const VideoQualityTest::Params ¶ms) { |
22 RunWithAnalyzer(params); | 22 RunWithAnalyzer(params); |
23 } | 23 } |
24 | 24 |
25 void ForemanCifWithoutPacketLoss(const std::string& video_codec) { | 25 void ForemanCifWithoutPacketLoss(const std::string& video_codec) { |
26 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 26 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
27 VideoQualityTest::Params foreman_cif; | 27 VideoQualityTest::Params foreman_cif = { |
28 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, | 28 {352, 288, 30, 700000, 700000, 700000, false, video_codec, 1}, |
29 video_codec, 1, 0, 0, false, "", "foreman_cif"}; | 29 {"foreman_cif"}, |
30 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_" + video_codec, | 30 {}, |
31 0.0, 0.0, kFullStackTestDurationSecs}; | 31 {"foreman_cif_net_delay_0_0_plr_0_" + video_codec, 0.0, 0.0, |
| 32 kFullStackTestDurationSecs}}; |
32 RunTest(foreman_cif); | 33 RunTest(foreman_cif); |
33 } | 34 } |
34 | 35 |
35 void ForemanCifPlr5(const std::string& video_codec) { | 36 void ForemanCifPlr5(const std::string& video_codec) { |
36 VideoQualityTest::Params foreman_cif; | 37 VideoQualityTest::Params foreman_cif = { |
37 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, | 38 {352, 288, 30, 30000, 500000, 2000000, false, video_codec, 1}, |
38 video_codec, 1, 0, 0, false, "", "foreman_cif"}; | 39 {"foreman_cif"}, |
39 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_" + video_codec, 0.0, | 40 {}, |
40 0.0, kFullStackTestDurationSecs}; | 41 {"foreman_cif_delay_50_0_plr_5_" + video_codec, 0.0, 0.0, |
| 42 kFullStackTestDurationSecs}}; |
41 foreman_cif.pipe.loss_percent = 5; | 43 foreman_cif.pipe.loss_percent = 5; |
42 foreman_cif.pipe.queue_delay_ms = 50; | 44 foreman_cif.pipe.queue_delay_ms = 50; |
43 RunTest(foreman_cif); | 45 RunTest(foreman_cif); |
44 } | 46 } |
45 }; | 47 }; |
46 | 48 |
47 // VideoQualityTest::Params params = { | 49 // VideoQualityTest::Params params = { |
48 // { ... }, // Common. | 50 // { ... }, // Common. |
49 // { ... }, // Video-specific settings. | 51 // { ... }, // Video-specific settings. |
50 // { ... }, // Screenshare-specific settings. | 52 // { ... }, // Screenshare-specific settings. |
51 // { ... }, // Analyzer settings. | 53 // { ... }, // Analyzer settings. |
52 // pipe, // FakeNetworkPipe::Config | 54 // pipe, // FakeNetworkPipe::Config |
53 // { ... }, // Spatial scalability. | 55 // { ... }, // Spatial scalability. |
54 // logs // bool | 56 // logs // bool |
55 // }; | 57 // }; |
56 | 58 |
57 #if !defined(RTC_DISABLE_VP9) | 59 #if !defined(RTC_DISABLE_VP9) |
58 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { | 60 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { |
59 ForemanCifWithoutPacketLoss("VP9"); | 61 ForemanCifWithoutPacketLoss("VP9"); |
60 } | 62 } |
61 | 63 |
62 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { | 64 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { |
63 ForemanCifPlr5("VP9"); | 65 ForemanCifPlr5("VP9"); |
64 } | 66 } |
65 #endif // !defined(RTC_DISABLE_VP9) | 67 #endif // !defined(RTC_DISABLE_VP9) |
66 | 68 |
67 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { | 69 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { |
68 VideoQualityTest::Params paris_qcif; | 70 VideoQualityTest::Params paris_qcif = { |
69 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false, | 71 {176, 144, 30, 300000, 300000, 300000, false, "VP8", 1, 0, 0, true}, |
70 "VP8", 1, 0, 0, true, "", "paris_qcif"}; | 72 {"paris_qcif"}, |
71 paris_qcif.analyzer = {"net_delay_0_0_plr_0", 36.0, 0.96, | 73 {}, |
72 kFullStackTestDurationSecs}; | 74 {"net_delay_0_0_plr_0", 36.0, 0.96, kFullStackTestDurationSecs}}; |
73 RunTest(paris_qcif); | 75 RunTest(paris_qcif); |
74 } | 76 } |
75 | 77 |
76 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { | 78 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { |
77 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 79 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
78 VideoQualityTest::Params foreman_cif; | 80 VideoQualityTest::Params foreman_cif = { |
79 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, "VP8", | 81 {352, 288, 30, 700000, 700000, 700000, false, "VP8", 1, 0, 0, true}, |
80 1, 0, 0, true, "", "foreman_cif"}; | 82 {"foreman_cif"}, |
81 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, | 83 {}, |
82 kFullStackTestDurationSecs}; | 84 {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, |
| 85 kFullStackTestDurationSecs}}; |
83 RunTest(foreman_cif); | 86 RunTest(foreman_cif); |
84 } | 87 } |
85 | 88 |
86 TEST_F(FullStackTest, ForemanCifPlr5) { | 89 TEST_F(FullStackTest, ForemanCifPlr5) { |
87 VideoQualityTest::Params foreman_cif; | 90 VideoQualityTest::Params foreman_cif = { |
88 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 91 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
89 1, 0, 0, true, "", "foreman_cif"}; | 92 {"foreman_cif"}, |
90 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, | 93 {}, |
91 kFullStackTestDurationSecs}; | 94 {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, kFullStackTestDurationSecs}}; |
92 foreman_cif.pipe.loss_percent = 5; | 95 foreman_cif.pipe.loss_percent = 5; |
93 foreman_cif.pipe.queue_delay_ms = 50; | 96 foreman_cif.pipe.queue_delay_ms = 50; |
94 RunTest(foreman_cif); | 97 RunTest(foreman_cif); |
95 } | 98 } |
96 | 99 |
97 TEST_F(FullStackTest, ForemanCif500kbps) { | 100 TEST_F(FullStackTest, ForemanCif500kbps) { |
98 VideoQualityTest::Params foreman_cif; | 101 VideoQualityTest::Params foreman_cif = { |
99 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 102 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
100 1, 0, 0, true, "", "foreman_cif"}; | 103 {"foreman_cif"}, |
101 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, | 104 {}, |
102 kFullStackTestDurationSecs}; | 105 {"foreman_cif_500kbps", 0.0, 0.0, kFullStackTestDurationSecs}}; |
103 foreman_cif.pipe.queue_length_packets = 0; | 106 foreman_cif.pipe.queue_length_packets = 0; |
104 foreman_cif.pipe.queue_delay_ms = 0; | 107 foreman_cif.pipe.queue_delay_ms = 0; |
105 foreman_cif.pipe.link_capacity_kbps = 500; | 108 foreman_cif.pipe.link_capacity_kbps = 500; |
106 RunTest(foreman_cif); | 109 RunTest(foreman_cif); |
107 } | 110 } |
108 | 111 |
109 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { | 112 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { |
110 VideoQualityTest::Params foreman_cif; | 113 VideoQualityTest::Params foreman_cif = { |
111 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 114 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
112 1, 0, 0, true, "", "foreman_cif"}; | 115 {"foreman_cif"}, |
113 foreman_cif.analyzer = {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, | 116 {}, |
114 kFullStackTestDurationSecs}; | 117 {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, |
| 118 kFullStackTestDurationSecs}}; |
115 foreman_cif.pipe.queue_length_packets = 32; | 119 foreman_cif.pipe.queue_length_packets = 32; |
116 foreman_cif.pipe.queue_delay_ms = 0; | 120 foreman_cif.pipe.queue_delay_ms = 0; |
117 foreman_cif.pipe.link_capacity_kbps = 500; | 121 foreman_cif.pipe.link_capacity_kbps = 500; |
118 RunTest(foreman_cif); | 122 RunTest(foreman_cif); |
119 } | 123 } |
120 | 124 |
121 TEST_F(FullStackTest, ForemanCif500kbps100ms) { | 125 TEST_F(FullStackTest, ForemanCif500kbps100ms) { |
122 VideoQualityTest::Params foreman_cif; | 126 VideoQualityTest::Params foreman_cif = { |
123 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 127 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
124 1, 0, 0, true, "", "foreman_cif"}; | 128 {"foreman_cif"}, |
125 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, | 129 {}, |
126 kFullStackTestDurationSecs}; | 130 {"foreman_cif_500kbps_100ms", 0.0, 0.0, kFullStackTestDurationSecs}}; |
127 foreman_cif.pipe.queue_length_packets = 0; | 131 foreman_cif.pipe.queue_length_packets = 0; |
128 foreman_cif.pipe.queue_delay_ms = 100; | 132 foreman_cif.pipe.queue_delay_ms = 100; |
129 foreman_cif.pipe.link_capacity_kbps = 500; | 133 foreman_cif.pipe.link_capacity_kbps = 500; |
130 RunTest(foreman_cif); | 134 RunTest(foreman_cif); |
131 } | 135 } |
132 | 136 |
133 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { | 137 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { |
134 VideoQualityTest::Params foreman_cif; | 138 VideoQualityTest::Params foreman_cif = { |
135 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 139 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
136 1, 0, 0, true, "", "foreman_cif"}; | 140 {"foreman_cif"}, |
137 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, | 141 {}, |
138 kFullStackTestDurationSecs}; | 142 {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, |
| 143 kFullStackTestDurationSecs}}; |
139 foreman_cif.pipe.queue_length_packets = 32; | 144 foreman_cif.pipe.queue_length_packets = 32; |
140 foreman_cif.pipe.queue_delay_ms = 100; | 145 foreman_cif.pipe.queue_delay_ms = 100; |
141 foreman_cif.pipe.link_capacity_kbps = 500; | 146 foreman_cif.pipe.link_capacity_kbps = 500; |
142 RunTest(foreman_cif); | 147 RunTest(foreman_cif); |
143 } | 148 } |
144 | 149 |
145 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { | 150 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { |
146 VideoQualityTest::Params foreman_cif; | 151 VideoQualityTest::Params foreman_cif = { |
147 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 152 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, false}, |
148 1, 0, 0, false, "", "foreman_cif"}; | 153 {"foreman_cif"}, |
149 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, | 154 {}, |
150 kFullStackTestDurationSecs}; | 155 {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, |
| 156 kFullStackTestDurationSecs}}; |
151 foreman_cif.pipe.queue_length_packets = 32; | 157 foreman_cif.pipe.queue_length_packets = 32; |
152 foreman_cif.pipe.queue_delay_ms = 100; | 158 foreman_cif.pipe.queue_delay_ms = 100; |
153 foreman_cif.pipe.link_capacity_kbps = 500; | 159 foreman_cif.pipe.link_capacity_kbps = 500; |
154 RunTest(foreman_cif); | 160 RunTest(foreman_cif); |
155 } | 161 } |
156 | 162 |
157 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { | 163 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { |
158 VideoQualityTest::Params foreman_cif; | 164 VideoQualityTest::Params foreman_cif = { |
159 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false, | 165 {352, 288, 30, 30000, 2000000, 2000000, false, "VP8", 1, 0, 0, true}, |
160 "VP8", 1, 0, 0, true, "", "foreman_cif"}; | 166 {"foreman_cif"}, |
161 foreman_cif.analyzer = {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, | 167 {}, |
162 kFullStackTestDurationSecs}; | 168 {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, |
| 169 kFullStackTestDurationSecs}}; |
163 foreman_cif.pipe.queue_length_packets = 32; | 170 foreman_cif.pipe.queue_length_packets = 32; |
164 foreman_cif.pipe.queue_delay_ms = 100; | 171 foreman_cif.pipe.queue_delay_ms = 100; |
165 foreman_cif.pipe.link_capacity_kbps = 1000; | 172 foreman_cif.pipe.link_capacity_kbps = 1000; |
166 RunTest(foreman_cif); | 173 RunTest(foreman_cif); |
167 } | 174 } |
168 | 175 |
169 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { | 176 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { |
170 VideoQualityTest::Params conf_motion_hd; | 177 VideoQualityTest::Params conf_motion_hd = { |
171 conf_motion_hd.video = {true, 1280, 720, 50, 30000, 3000000, 3000000, false, | 178 {1280, 720, 50, 30000, 3000000, 3000000, false, "VP8", 1, 0, 0, true}, |
172 "VP8", 1, 0, 0, true, "", | 179 {"ConferenceMotion_1280_720_50"}, |
173 "ConferenceMotion_1280_720_50"}; | 180 {}, |
174 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", | 181 {"conference_motion_hd_2000kbps_100ms_32pkts_queue", 0.0, 0.0, |
175 0.0, 0.0, kFullStackTestDurationSecs}; | 182 kFullStackTestDurationSecs}}; |
176 conf_motion_hd.pipe.queue_length_packets = 32; | 183 conf_motion_hd.pipe.queue_length_packets = 32; |
177 conf_motion_hd.pipe.queue_delay_ms = 100; | 184 conf_motion_hd.pipe.queue_delay_ms = 100; |
178 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 185 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
179 RunTest(conf_motion_hd); | 186 RunTest(conf_motion_hd); |
180 } | 187 } |
181 | 188 |
182 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { | 189 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { |
183 VideoQualityTest::Params screenshare; | 190 VideoQualityTest::Params screenshare = { |
184 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 191 {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, true}, |
185 "VP8", 2, 1, 400000, true, "", ""}; | 192 {}, |
186 screenshare.screenshare = {true, 10}; | 193 {true, 10}, |
187 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, | 194 {"screenshare_slides", 0.0, 0.0, kFullStackTestDurationSecs}}; |
188 kFullStackTestDurationSecs}; | |
189 RunTest(screenshare); | 195 RunTest(screenshare); |
190 } | 196 } |
191 | 197 |
192 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { | 198 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { |
193 VideoQualityTest::Params config; | 199 VideoQualityTest::Params config = { |
194 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, | 200 {1850, 1110 / 2, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, |
195 "VP8", 2, 1, 400000, true, "", ""}; | 201 true}, |
196 config.screenshare = {true, 10, 2}; | 202 {}, |
197 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, | 203 {true, 10, 2}, |
198 kFullStackTestDurationSecs}; | 204 {"screenshare_slides_scrolling", 0.0, 0.0, kFullStackTestDurationSecs}}; |
199 RunTest(config); | 205 RunTest(config); |
200 } | 206 } |
201 | 207 |
202 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { | 208 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { |
203 VideoQualityTest::Params screenshare; | 209 VideoQualityTest::Params screenshare = { |
204 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 210 {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, true}, |
205 "VP8", 2, 1, 400000, true, "", ""}; | 211 {}, // Video-specific. |
206 screenshare.screenshare = {true, 10}; | 212 {true, 10}, // Screenshare-specific. |
207 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, | 213 {"screenshare_slides_lossy_net", 0.0, 0.0, kFullStackTestDurationSecs}}; |
208 kFullStackTestDurationSecs}; | |
209 screenshare.pipe.loss_percent = 5; | 214 screenshare.pipe.loss_percent = 5; |
210 screenshare.pipe.queue_delay_ms = 200; | 215 screenshare.pipe.queue_delay_ms = 200; |
211 screenshare.pipe.link_capacity_kbps = 500; | 216 screenshare.pipe.link_capacity_kbps = 500; |
212 RunTest(screenshare); | 217 RunTest(screenshare); |
213 } | 218 } |
214 | 219 |
215 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { | 220 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { |
216 VideoQualityTest::Params screenshare; | 221 VideoQualityTest::Params screenshare = { |
217 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 222 {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, true}, |
218 "VP8", 2, 1, 400000, true, "", ""}; | 223 {}, // Video-specific. |
219 screenshare.screenshare = {true, 10}; | 224 {true, 10}, // Screenshare-specific. |
220 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, | 225 {"screenshare_slides_very_lossy", 0.0, 0.0, kFullStackTestDurationSecs}}; |
221 kFullStackTestDurationSecs}; | |
222 screenshare.pipe.loss_percent = 10; | 226 screenshare.pipe.loss_percent = 10; |
223 screenshare.pipe.queue_delay_ms = 200; | 227 screenshare.pipe.queue_delay_ms = 200; |
224 screenshare.pipe.link_capacity_kbps = 500; | 228 screenshare.pipe.link_capacity_kbps = 500; |
225 RunTest(screenshare); | 229 RunTest(screenshare); |
226 } | 230 } |
227 | 231 |
228 #if !defined(RTC_DISABLE_VP9) | 232 #if !defined(RTC_DISABLE_VP9) |
229 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { | 233 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { |
230 VideoQualityTest::Params screenshare; | 234 VideoQualityTest::Params screenshare = { |
231 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 235 {1850, 1110, 5, 50000, 200000, 2000000, false, "VP9", 1, 0, 400000, true}, |
232 "VP9", 1, 0, 400000, true, "", ""}; | 236 {}, |
233 screenshare.screenshare = {true, 10}; | 237 {true, 10}, |
234 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, | 238 {"screenshare_slides_vp9_2sl", 0.0, 0.0, kFullStackTestDurationSecs}, |
235 kFullStackTestDurationSecs}; | 239 {}, |
236 screenshare.logs = false; | 240 false, |
237 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1}; | 241 {std::vector<VideoStream>(), 0, 2, 1}}; |
238 RunTest(screenshare); | 242 RunTest(screenshare); |
239 } | 243 } |
240 #endif // !defined(RTC_DISABLE_VP9) | 244 #endif // !defined(RTC_DISABLE_VP9) |
241 } // namespace webrtc | 245 } // namespace webrtc |
OLD | NEW |