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 <string> | |
13 | |
14 #include "modules/pacing/alr_detector.h" | 12 #include "modules/pacing/alr_detector.h" |
15 #include "test/field_trial.h" | 13 #include "test/field_trial.h" |
16 #include "test/gtest.h" | 14 #include "test/gtest.h" |
17 #include "video/video_quality_test.h" | 15 #include "video/video_quality_test.h" |
18 | 16 |
19 namespace webrtc { | 17 namespace webrtc { |
20 | 18 |
21 namespace { | 19 namespace { |
22 static const int kFullStackTestDurationSecs = 45; | 20 static const int kFullStackTestDurationSecs = 45; |
23 } // namespace | 21 } // namespace |
(...skipping 20 matching lines...) Expand all Loading... |
44 // pipe, // FakeNetworkPipe::Config | 42 // pipe, // FakeNetworkPipe::Config |
45 // { ... }, // Spatial scalability. | 43 // { ... }, // Spatial scalability. |
46 // logs // bool | 44 // logs // bool |
47 // }; | 45 // }; |
48 | 46 |
49 #if !defined(RTC_DISABLE_VP9) | 47 #if !defined(RTC_DISABLE_VP9) |
50 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { | 48 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { |
51 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 49 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
52 VideoQualityTest::Params foreman_cif; | 50 VideoQualityTest::Params foreman_cif; |
53 foreman_cif.call.send_side_bwe = true; | 51 foreman_cif.call.send_side_bwe = true; |
54 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, | 52 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, |
55 700000, false, "VP9", false, false, 1, | 53 "VP9", 1, 0, 0, false, false, "foreman_cif"}; |
56 0, 0, false, false, "foreman_cif"}; | |
57 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, |
58 kFullStackTestDurationSecs}; | 55 kFullStackTestDurationSecs}; |
59 RunTest(foreman_cif); | 56 RunTest(foreman_cif); |
60 } | 57 } |
61 | 58 |
62 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { | 59 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { |
63 VideoQualityTest::Params foreman_cif; | 60 VideoQualityTest::Params foreman_cif; |
64 foreman_cif.call.send_side_bwe = true; | 61 foreman_cif.call.send_side_bwe = true; |
65 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 62 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
66 2000000, false, "VP9", false, false, 1, | 63 "VP9", 1, 0, 0, false, false, "foreman_cif"}; |
67 0, 0, false, false, "foreman_cif"}; | |
68 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, |
69 kFullStackTestDurationSecs}; | 65 kFullStackTestDurationSecs}; |
70 foreman_cif.pipe.loss_percent = 5; | 66 foreman_cif.pipe.loss_percent = 5; |
71 foreman_cif.pipe.queue_delay_ms = 50; | 67 foreman_cif.pipe.queue_delay_ms = 50; |
72 RunTest(foreman_cif); | 68 RunTest(foreman_cif); |
73 } | 69 } |
74 #endif // !defined(RTC_DISABLE_VP9) | 70 #endif // !defined(RTC_DISABLE_VP9) |
75 | 71 |
76 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { | 72 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { |
77 VideoQualityTest::Params paris_qcif; | 73 VideoQualityTest::Params paris_qcif; |
78 paris_qcif.call.send_side_bwe = true; | 74 paris_qcif.call.send_side_bwe = true; |
79 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, | 75 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false, |
80 300000, false, "VP8", false, false, 1, | 76 "VP8", 1, 0, 0, false, false, "paris_qcif"}; |
81 0, 0, false, false, "paris_qcif"}; | |
82 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, |
83 kFullStackTestDurationSecs}; | 78 kFullStackTestDurationSecs}; |
84 RunTest(paris_qcif); | 79 RunTest(paris_qcif); |
85 } | 80 } |
86 | 81 |
87 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { | 82 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { |
88 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 83 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
89 VideoQualityTest::Params foreman_cif; | 84 VideoQualityTest::Params foreman_cif; |
90 foreman_cif.call.send_side_bwe = true; | 85 foreman_cif.call.send_side_bwe = true; |
91 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, | 86 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, |
92 700000, false, "VP8", false, false, 1, | 87 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
93 0, 0, false, false, "foreman_cif"}; | |
94 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, |
95 kFullStackTestDurationSecs}; | 89 kFullStackTestDurationSecs}; |
96 RunTest(foreman_cif); | 90 RunTest(foreman_cif); |
97 } | 91 } |
98 | 92 |
99 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) { | 93 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) { |
100 VideoQualityTest::Params foreman_cif; | 94 VideoQualityTest::Params foreman_cif; |
101 foreman_cif.call.send_side_bwe = true; | 95 foreman_cif.call.send_side_bwe = true; |
102 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, | 96 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, |
103 30000, false, "VP8", false, false, 1, | 97 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
104 0, 0, false, false, "foreman_cif"}; | |
105 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, |
106 kFullStackTestDurationSecs}; | 99 kFullStackTestDurationSecs}; |
107 RunTest(foreman_cif); | 100 RunTest(foreman_cif); |
108 } | 101 } |
109 | 102 |
110 TEST_F(FullStackTest, ForemanCifPlr5) { | 103 TEST_F(FullStackTest, ForemanCifPlr5) { |
111 VideoQualityTest::Params foreman_cif; | 104 VideoQualityTest::Params foreman_cif; |
112 foreman_cif.call.send_side_bwe = true; | 105 foreman_cif.call.send_side_bwe = true; |
113 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 106 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
114 2000000, false, "VP8", false, false, 1, | 107 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
115 0, 0, false, false, "foreman_cif"}; | |
116 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, |
117 kFullStackTestDurationSecs}; | 109 kFullStackTestDurationSecs}; |
118 foreman_cif.pipe.loss_percent = 5; | 110 foreman_cif.pipe.loss_percent = 5; |
119 foreman_cif.pipe.queue_delay_ms = 50; | 111 foreman_cif.pipe.queue_delay_ms = 50; |
120 RunTest(foreman_cif); | 112 RunTest(foreman_cif); |
121 } | 113 } |
122 | 114 |
123 TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) { | 115 TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) { |
124 VideoQualityTest::Params foreman_cif; | 116 VideoQualityTest::Params foreman_cif; |
125 foreman_cif.call.send_side_bwe = true; | 117 foreman_cif.call.send_side_bwe = true; |
126 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 118 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
127 2000000, false, "VP8", false, false, 1, | 119 "VP8", 1, 0, 0, true, false, "foreman_cif"}; |
128 0, 0, true, false, "foreman_cif"}; | |
129 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, |
130 kFullStackTestDurationSecs}; | 121 kFullStackTestDurationSecs}; |
131 foreman_cif.pipe.loss_percent = 5; | 122 foreman_cif.pipe.loss_percent = 5; |
132 foreman_cif.pipe.queue_delay_ms = 50; | 123 foreman_cif.pipe.queue_delay_ms = 50; |
133 RunTest(foreman_cif); | 124 RunTest(foreman_cif); |
134 } | 125 } |
135 | 126 |
136 TEST_F(FullStackTest, ForemanCifPlr5Flexfec) { | 127 TEST_F(FullStackTest, ForemanCifPlr5Flexfec) { |
137 VideoQualityTest::Params foreman_cif; | 128 VideoQualityTest::Params foreman_cif; |
138 foreman_cif.call.send_side_bwe = true; | 129 foreman_cif.call.send_side_bwe = true; |
139 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 130 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
140 2000000, false, "VP8", false, false, 1, | 131 "VP8", 1, 0, 0, false, true, "foreman_cif"}; |
141 0, 0, false, true, "foreman_cif"}; | |
142 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, |
143 kFullStackTestDurationSecs}; | 133 kFullStackTestDurationSecs}; |
144 foreman_cif.pipe.loss_percent = 5; | 134 foreman_cif.pipe.loss_percent = 5; |
145 foreman_cif.pipe.queue_delay_ms = 50; | 135 foreman_cif.pipe.queue_delay_ms = 50; |
146 RunTest(foreman_cif); | 136 RunTest(foreman_cif); |
147 } | 137 } |
148 | 138 |
149 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Flexfec) { | 139 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Flexfec) { |
150 VideoQualityTest::Params foreman_cif; | 140 VideoQualityTest::Params foreman_cif; |
151 foreman_cif.call.send_side_bwe = true; | 141 foreman_cif.call.send_side_bwe = true; |
152 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 142 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
153 2000000, false, "VP8", false, false, 1, | 143 "VP8", 1, 0, 0, false, true, "foreman_cif"}; |
154 0, 0, false, true, "foreman_cif"}; | |
155 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, |
156 0.0, kFullStackTestDurationSecs}; | 145 0.0, kFullStackTestDurationSecs}; |
157 foreman_cif.pipe.loss_percent = 3; | 146 foreman_cif.pipe.loss_percent = 3; |
158 foreman_cif.pipe.link_capacity_kbps = 500; | 147 foreman_cif.pipe.link_capacity_kbps = 500; |
159 foreman_cif.pipe.queue_delay_ms = 50; | 148 foreman_cif.pipe.queue_delay_ms = 50; |
160 RunTest(foreman_cif); | 149 RunTest(foreman_cif); |
161 } | 150 } |
162 | 151 |
163 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Ulpfec) { | 152 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Ulpfec) { |
164 VideoQualityTest::Params foreman_cif; | 153 VideoQualityTest::Params foreman_cif; |
165 foreman_cif.call.send_side_bwe = true; | 154 foreman_cif.call.send_side_bwe = true; |
166 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 155 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
167 2000000, false, "VP8", false, false, 1, | 156 "VP8", 1, 0, 0, true, false, "foreman_cif"}; |
168 0, 0, true, false, "foreman_cif"}; | |
169 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, |
170 0.0, kFullStackTestDurationSecs}; | 158 0.0, kFullStackTestDurationSecs}; |
171 foreman_cif.pipe.loss_percent = 3; | 159 foreman_cif.pipe.loss_percent = 3; |
172 foreman_cif.pipe.link_capacity_kbps = 500; | 160 foreman_cif.pipe.link_capacity_kbps = 500; |
173 foreman_cif.pipe.queue_delay_ms = 50; | 161 foreman_cif.pipe.queue_delay_ms = 50; |
174 RunTest(foreman_cif); | 162 RunTest(foreman_cif); |
175 } | 163 } |
176 | 164 |
177 #if defined(WEBRTC_USE_H264) | 165 #if defined(WEBRTC_USE_H264) |
178 TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) { | 166 TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) { |
179 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 167 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
180 VideoQualityTest::Params foreman_cif; | 168 VideoQualityTest::Params foreman_cif; |
181 foreman_cif.call.send_side_bwe = true; | 169 foreman_cif.call.send_side_bwe = true; |
182 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, | 170 foreman_cif.video = {true, 352, 288, 30, 700000, |
183 700000, false, "H264", false, false, 1, | 171 700000, 700000, false, "H264", 1, |
184 0, 0, false, false, "foreman_cif"}; | 172 0, 0, false, false, "foreman_cif"}; |
185 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, |
186 kFullStackTestDurationSecs}; | 174 kFullStackTestDurationSecs}; |
187 RunTest(foreman_cif); | 175 RunTest(foreman_cif); |
188 } | 176 } |
189 | 177 |
190 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) { | 178 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) { |
191 VideoQualityTest::Params foreman_cif; | 179 VideoQualityTest::Params foreman_cif; |
192 foreman_cif.call.send_side_bwe = true; | 180 foreman_cif.call.send_side_bwe = true; |
193 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, | 181 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, |
194 30000, false, "H264", false, false, 1, | 182 "H264", 1, 0, 0, false, false, "foreman_cif"}; |
195 0, 0, false, false, "foreman_cif"}; | |
196 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, |
197 0.0, kFullStackTestDurationSecs}; | 184 0.0, kFullStackTestDurationSecs}; |
198 RunTest(foreman_cif); | 185 RunTest(foreman_cif); |
199 } | 186 } |
200 | 187 |
201 TEST_F(FullStackTest, ForemanCifPlr5H264) { | 188 TEST_F(FullStackTest, ForemanCifPlr5H264) { |
202 VideoQualityTest::Params foreman_cif; | 189 VideoQualityTest::Params foreman_cif; |
203 foreman_cif.call.send_side_bwe = true; | 190 foreman_cif.call.send_side_bwe = true; |
204 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 191 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
205 2000000, false, "H264", false, false, 1, | 192 "H264", 1, 0, 0, false, false, "foreman_cif"}; |
206 0, 0, false, false, "foreman_cif"}; | |
207 std::string fec_description; | 193 std::string fec_description; |
208 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, |
209 kFullStackTestDurationSecs}; | 195 kFullStackTestDurationSecs}; |
210 foreman_cif.pipe.loss_percent = 5; | 196 foreman_cif.pipe.loss_percent = 5; |
211 foreman_cif.pipe.queue_delay_ms = 50; | 197 foreman_cif.pipe.queue_delay_ms = 50; |
212 RunTest(foreman_cif); | 198 RunTest(foreman_cif); |
213 } | 199 } |
214 | 200 |
215 // Verify that this is worth the bot time, before enabling. | 201 // Verify that this is worth the bot time, before enabling. |
216 TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) { | 202 TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) { |
217 VideoQualityTest::Params foreman_cif; | 203 VideoQualityTest::Params foreman_cif; |
218 foreman_cif.call.send_side_bwe = true; | 204 foreman_cif.call.send_side_bwe = true; |
219 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 205 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
220 2000000, false, "H264", false, false, 1, | 206 "H264", 1, 0, 0, false, true, "foreman_cif"}; |
221 0, 0, false, true, "foreman_cif"}; | |
222 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, |
223 kFullStackTestDurationSecs}; | 208 kFullStackTestDurationSecs}; |
224 foreman_cif.pipe.loss_percent = 5; | 209 foreman_cif.pipe.loss_percent = 5; |
225 foreman_cif.pipe.queue_delay_ms = 50; | 210 foreman_cif.pipe.queue_delay_ms = 50; |
226 RunTest(foreman_cif); | 211 RunTest(foreman_cif); |
227 } | 212 } |
228 | 213 |
229 // 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 |
230 // for debugging. It is therefore disabled by default. | 215 // for debugging. It is therefore disabled by default. |
231 TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) { | 216 TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) { |
232 VideoQualityTest::Params foreman_cif; | 217 VideoQualityTest::Params foreman_cif; |
233 foreman_cif.call.send_side_bwe = true; | 218 foreman_cif.call.send_side_bwe = true; |
234 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 219 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
235 2000000, false, "H264", false, false, 1, | 220 "H264", 1, 0, 0, true, false, "foreman_cif"}; |
236 0, 0, true, false, "foreman_cif"}; | |
237 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, |
238 kFullStackTestDurationSecs}; | 222 kFullStackTestDurationSecs}; |
239 foreman_cif.pipe.loss_percent = 5; | 223 foreman_cif.pipe.loss_percent = 5; |
240 foreman_cif.pipe.queue_delay_ms = 50; | 224 foreman_cif.pipe.queue_delay_ms = 50; |
241 RunTest(foreman_cif); | 225 RunTest(foreman_cif); |
242 } | 226 } |
243 #endif // defined(WEBRTC_USE_H264) | 227 #endif // defined(WEBRTC_USE_H264) |
244 | 228 |
245 TEST_F(FullStackTest, ForemanCif500kbps) { | 229 TEST_F(FullStackTest, ForemanCif500kbps) { |
246 VideoQualityTest::Params foreman_cif; | 230 VideoQualityTest::Params foreman_cif; |
247 foreman_cif.call.send_side_bwe = true; | 231 foreman_cif.call.send_side_bwe = true; |
248 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 232 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
249 2000000, false, "VP8", false, false, 1, | 233 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
250 0, 0, false, false, "foreman_cif"}; | |
251 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, | 234 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, |
252 kFullStackTestDurationSecs}; | 235 kFullStackTestDurationSecs}; |
253 foreman_cif.pipe.queue_length_packets = 0; | 236 foreman_cif.pipe.queue_length_packets = 0; |
254 foreman_cif.pipe.queue_delay_ms = 0; | 237 foreman_cif.pipe.queue_delay_ms = 0; |
255 foreman_cif.pipe.link_capacity_kbps = 500; | 238 foreman_cif.pipe.link_capacity_kbps = 500; |
256 RunTest(foreman_cif); | 239 RunTest(foreman_cif); |
257 } | 240 } |
258 | 241 |
259 TEST_F(FullStackTest, ForemanSqcif30kbpsLibvpx) { | |
260 VideoQualityTest::Params foreman_sqcif; | |
261 foreman_sqcif.call.send_side_bwe = true; | |
262 foreman_sqcif.video = {true, 128, 96, 7, 30000, 30000, | |
263 2000000, false, "VP8", false, false, 1, | |
264 0, 0, false, false, "foreman_128x96"}; | |
265 foreman_sqcif.analyzer = {"foreman_sqcif_30kbps_libvpx", 0.0, 0.0, | |
266 kFullStackTestDurationSecs}; | |
267 foreman_sqcif.pipe.link_capacity_kbps = 30; | |
268 RunTest(foreman_sqcif); | |
269 } | |
270 | |
271 TEST_F(FullStackTest, Foreman240p100kbpsLibvpx) { | |
272 VideoQualityTest::Params foreman_240p; | |
273 foreman_240p.call.send_side_bwe = true; | |
274 foreman_240p.video = { | |
275 true, 320, 240, 10, 30000, 100000, 2000000, false, "VP8", false, | |
276 false, 1, 0, 0, false, false, "foreman_320x240"}; | |
277 foreman_240p.analyzer = {"foreman_240p_100kbps_libvpx", 0.0, 0.0, | |
278 kFullStackTestDurationSecs}; | |
279 foreman_240p.pipe.link_capacity_kbps = 100; | |
280 RunTest(foreman_240p); | |
281 } | |
282 | |
283 #if defined(WEBRTC_ANDROID) | |
284 TEST_F(FullStackTest, ForemanSqcif30kbpsMediaCodec) { | |
285 VideoQualityTest::Params foreman_sqcif; | |
286 foreman_sqcif.call.send_side_bwe = true; | |
287 foreman_sqcif.video = {true, 128, 96, 7, 30000, 30000, | |
288 2000000, false, "VP8", true, false, 1, | |
289 0, 0, false, false, "foreman_128x96"}; | |
290 foreman_sqcif.analyzer = {"foreman_sqcif_30kbps_mediacodec", 0.0, 0.0, | |
291 kFullStackTestDurationSecs}; | |
292 foreman_sqcif.pipe.link_capacity_kbps = 30; | |
293 RunTest(foreman_sqcif); | |
294 } | |
295 | |
296 TEST_F(FullStackTest, Foreman240p100kbpsMediaCodec) { | |
297 VideoQualityTest::Params foreman_240p; | |
298 foreman_240p.call.send_side_bwe = true; | |
299 foreman_240p.video = { | |
300 true, 320, 240, 10, 30000, 100000, 2000000, false, "VP8", true, | |
301 false, 1, 0, 0, false, false, "foreman_320x240"}; | |
302 foreman_240p.analyzer = {"foreman_240p_100kbps_mediacodec", 0.0, 0.0, | |
303 kFullStackTestDurationSecs}; | |
304 foreman_240p.pipe.link_capacity_kbps = 100; | |
305 RunTest(foreman_240p); | |
306 } | |
307 | |
308 TEST_F(FullStackTest, Foreman240p100kbpsMediaCodecWithForcedSwFallback) { | |
309 std::string field_trial = | |
310 "WebRTC-VP8-Forced-Fallback-Encoder/Enabled-150,175," + | |
311 std::to_string(1000 * kFullStackTestDurationSecs / 2) + ",19200/"; | |
312 test::ScopedFieldTrials override_field_trials(field_trial); | |
313 | |
314 VideoQualityTest::Params foreman_240p; | |
315 foreman_240p.call.send_side_bwe = true; | |
316 foreman_240p.video = { | |
317 true, 320, 240, 10, 30000, 100000, 2000000, false, "VP8", true, | |
318 true, 1, 0, 0, false, false, "foreman_320x240"}; | |
319 foreman_240p.analyzer = {"foreman_240p_100kbps_mediacodec_sw_fallback", 0.0, | |
320 0.0, kFullStackTestDurationSecs}; | |
321 foreman_240p.pipe.link_capacity_kbps = 100; | |
322 RunTest(foreman_240p); | |
323 } | |
324 #endif // defined(WEBRTC_ANDROID) | |
325 | |
326 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { | 242 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { |
327 VideoQualityTest::Params foreman_cif; | 243 VideoQualityTest::Params foreman_cif; |
328 foreman_cif.call.send_side_bwe = true; | 244 foreman_cif.call.send_side_bwe = true; |
329 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 245 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
330 2000000, false, "VP8", false, false, 1, | 246 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
331 0, 0, false, false, "foreman_cif"}; | |
332 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, |
333 kFullStackTestDurationSecs}; | 248 kFullStackTestDurationSecs}; |
334 foreman_cif.pipe.queue_length_packets = 32; | 249 foreman_cif.pipe.queue_length_packets = 32; |
335 foreman_cif.pipe.queue_delay_ms = 0; | 250 foreman_cif.pipe.queue_delay_ms = 0; |
336 foreman_cif.pipe.link_capacity_kbps = 500; | 251 foreman_cif.pipe.link_capacity_kbps = 500; |
337 RunTest(foreman_cif); | 252 RunTest(foreman_cif); |
338 } | 253 } |
339 | 254 |
340 TEST_F(FullStackTest, ForemanCif500kbps100ms) { | 255 TEST_F(FullStackTest, ForemanCif500kbps100ms) { |
341 VideoQualityTest::Params foreman_cif; | 256 VideoQualityTest::Params foreman_cif; |
342 foreman_cif.call.send_side_bwe = true; | 257 foreman_cif.call.send_side_bwe = true; |
343 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 258 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
344 2000000, false, "VP8", false, false, 1, | 259 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
345 0, 0, false, false, "foreman_cif"}; | |
346 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, | 260 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, |
347 kFullStackTestDurationSecs}; | 261 kFullStackTestDurationSecs}; |
348 foreman_cif.pipe.queue_length_packets = 0; | 262 foreman_cif.pipe.queue_length_packets = 0; |
349 foreman_cif.pipe.queue_delay_ms = 100; | 263 foreman_cif.pipe.queue_delay_ms = 100; |
350 foreman_cif.pipe.link_capacity_kbps = 500; | 264 foreman_cif.pipe.link_capacity_kbps = 500; |
351 RunTest(foreman_cif); | 265 RunTest(foreman_cif); |
352 } | 266 } |
353 | 267 |
354 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { | 268 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { |
355 VideoQualityTest::Params foreman_cif; | 269 VideoQualityTest::Params foreman_cif; |
356 foreman_cif.call.send_side_bwe = true; | 270 foreman_cif.call.send_side_bwe = true; |
357 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 271 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
358 2000000, false, "VP8", false, false, 1, | 272 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
359 0, 0, false, false, "foreman_cif"}; | |
360 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, |
361 kFullStackTestDurationSecs}; | 274 kFullStackTestDurationSecs}; |
362 foreman_cif.pipe.queue_length_packets = 32; | 275 foreman_cif.pipe.queue_length_packets = 32; |
363 foreman_cif.pipe.queue_delay_ms = 100; | 276 foreman_cif.pipe.queue_delay_ms = 100; |
364 foreman_cif.pipe.link_capacity_kbps = 500; | 277 foreman_cif.pipe.link_capacity_kbps = 500; |
365 RunTest(foreman_cif); | 278 RunTest(foreman_cif); |
366 } | 279 } |
367 | 280 |
368 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { | 281 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { |
369 VideoQualityTest::Params foreman_cif; | 282 VideoQualityTest::Params foreman_cif; |
370 foreman_cif.call.send_side_bwe = false; | 283 foreman_cif.call.send_side_bwe = false; |
371 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 284 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
372 2000000, false, "VP8", false, false, 1, | 285 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
373 0, 0, false, false, "foreman_cif"}; | |
374 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe", | 286 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe", |
375 0.0, 0.0, kFullStackTestDurationSecs}; | 287 0.0, 0.0, kFullStackTestDurationSecs}; |
376 foreman_cif.pipe.queue_length_packets = 32; | 288 foreman_cif.pipe.queue_length_packets = 32; |
377 foreman_cif.pipe.queue_delay_ms = 100; | 289 foreman_cif.pipe.queue_delay_ms = 100; |
378 foreman_cif.pipe.link_capacity_kbps = 500; | 290 foreman_cif.pipe.link_capacity_kbps = 500; |
379 RunTest(foreman_cif); | 291 RunTest(foreman_cif); |
380 } | 292 } |
381 | 293 |
382 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { | 294 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { |
383 VideoQualityTest::Params foreman_cif; | 295 VideoQualityTest::Params foreman_cif; |
384 foreman_cif.call.send_side_bwe = true; | 296 foreman_cif.call.send_side_bwe = true; |
385 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, | 297 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false, |
386 2000000, false, "VP8", false, false, 1, | 298 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
387 0, 0, false, false, "foreman_cif"}; | |
388 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, |
389 kFullStackTestDurationSecs}; | 300 kFullStackTestDurationSecs}; |
390 foreman_cif.pipe.queue_length_packets = 32; | 301 foreman_cif.pipe.queue_length_packets = 32; |
391 foreman_cif.pipe.queue_delay_ms = 100; | 302 foreman_cif.pipe.queue_delay_ms = 100; |
392 foreman_cif.pipe.link_capacity_kbps = 1000; | 303 foreman_cif.pipe.link_capacity_kbps = 1000; |
393 RunTest(foreman_cif); | 304 RunTest(foreman_cif); |
394 } | 305 } |
395 | 306 |
396 // TODO(sprang): Remove this if we have the similar ModerateLimits below? | 307 // TODO(sprang): Remove this if we have the similar ModerateLimits below? |
397 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { | 308 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { |
398 VideoQualityTest::Params conf_motion_hd; | 309 VideoQualityTest::Params conf_motion_hd; |
399 conf_motion_hd.call.send_side_bwe = true; | 310 conf_motion_hd.call.send_side_bwe = true; |
400 conf_motion_hd.video = {true, | 311 conf_motion_hd.video = { |
401 1280, | 312 true, 1280, 720, 50, 30000, |
402 720, | 313 3000000, 3000000, false, "VP8", 1, |
403 50, | 314 0, 0, false, false, "ConferenceMotion_1280_720_50"}; |
404 30000, | |
405 3000000, | |
406 3000000, | |
407 false, | |
408 "VP8", | |
409 false, | |
410 false, | |
411 1, | |
412 0, | |
413 0, | |
414 false, | |
415 false, | |
416 "ConferenceMotion_1280_720_50"}; | |
417 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", | 315 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", |
418 0.0, 0.0, kFullStackTestDurationSecs}; | 316 0.0, 0.0, kFullStackTestDurationSecs}; |
419 conf_motion_hd.pipe.queue_length_packets = 32; | 317 conf_motion_hd.pipe.queue_length_packets = 32; |
420 conf_motion_hd.pipe.queue_delay_ms = 100; | 318 conf_motion_hd.pipe.queue_delay_ms = 100; |
421 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 319 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
422 RunTest(conf_motion_hd); | 320 RunTest(conf_motion_hd); |
423 } | 321 } |
424 | 322 |
425 TEST_F(FullStackTest, ConferenceMotionHd1TLModerateLimits) { | 323 TEST_F(FullStackTest, ConferenceMotionHd1TLModerateLimits) { |
426 VideoQualityTest::Params conf_motion_hd; | 324 VideoQualityTest::Params conf_motion_hd; |
427 conf_motion_hd.call.send_side_bwe = true; | 325 conf_motion_hd.call.send_side_bwe = true; |
428 conf_motion_hd.video = {true, | 326 conf_motion_hd.video = { |
429 1280, | 327 true, 1280, 720, 50, 30000, |
430 720, | 328 3000000, 3000000, false, "VP8", 1, |
431 50, | 329 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
432 30000, | |
433 3000000, | |
434 3000000, | |
435 false, | |
436 "VP8", | |
437 false, | |
438 false, | |
439 1, | |
440 -1, | |
441 0, | |
442 false, | |
443 false, | |
444 "ConferenceMotion_1280_720_50"}; | |
445 conf_motion_hd.analyzer = {"conference_motion_hd_1tl_moderate_limits", 0.0, | 330 conf_motion_hd.analyzer = {"conference_motion_hd_1tl_moderate_limits", 0.0, |
446 0.0, kFullStackTestDurationSecs}; | 331 0.0, kFullStackTestDurationSecs}; |
447 conf_motion_hd.pipe.queue_length_packets = 50; | 332 conf_motion_hd.pipe.queue_length_packets = 50; |
448 conf_motion_hd.pipe.loss_percent = 3; | 333 conf_motion_hd.pipe.loss_percent = 3; |
449 conf_motion_hd.pipe.queue_delay_ms = 100; | 334 conf_motion_hd.pipe.queue_delay_ms = 100; |
450 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 335 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
451 RunTest(conf_motion_hd); | 336 RunTest(conf_motion_hd); |
452 } | 337 } |
453 | 338 |
454 TEST_F(FullStackTest, ConferenceMotionHd2TLModerateLimits) { | 339 TEST_F(FullStackTest, ConferenceMotionHd2TLModerateLimits) { |
455 VideoQualityTest::Params conf_motion_hd; | 340 VideoQualityTest::Params conf_motion_hd; |
456 conf_motion_hd.call.send_side_bwe = true; | 341 conf_motion_hd.call.send_side_bwe = true; |
457 conf_motion_hd.video = {true, | 342 conf_motion_hd.video = { |
458 1280, | 343 true, 1280, 720, 50, 30000, |
459 720, | 344 3000000, 3000000, false, "VP8", 2, |
460 50, | 345 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
461 30000, | |
462 3000000, | |
463 3000000, | |
464 false, | |
465 "VP8", | |
466 false, | |
467 false, | |
468 2, | |
469 -1, | |
470 0, | |
471 false, | |
472 false, | |
473 "ConferenceMotion_1280_720_50"}; | |
474 conf_motion_hd.analyzer = {"conference_motion_hd_2tl_moderate_limits", 0.0, | 346 conf_motion_hd.analyzer = {"conference_motion_hd_2tl_moderate_limits", 0.0, |
475 0.0, kFullStackTestDurationSecs}; | 347 0.0, kFullStackTestDurationSecs}; |
476 conf_motion_hd.pipe.queue_length_packets = 50; | 348 conf_motion_hd.pipe.queue_length_packets = 50; |
477 conf_motion_hd.pipe.loss_percent = 3; | 349 conf_motion_hd.pipe.loss_percent = 3; |
478 conf_motion_hd.pipe.queue_delay_ms = 100; | 350 conf_motion_hd.pipe.queue_delay_ms = 100; |
479 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 351 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
480 RunTest(conf_motion_hd); | 352 RunTest(conf_motion_hd); |
481 } | 353 } |
482 | 354 |
483 TEST_F(FullStackTest, ConferenceMotionHd3TLModerateLimits) { | 355 TEST_F(FullStackTest, ConferenceMotionHd3TLModerateLimits) { |
484 VideoQualityTest::Params conf_motion_hd; | 356 VideoQualityTest::Params conf_motion_hd; |
485 conf_motion_hd.call.send_side_bwe = true; | 357 conf_motion_hd.call.send_side_bwe = true; |
486 conf_motion_hd.video = {true, | 358 conf_motion_hd.video = { |
487 1280, | 359 true, 1280, 720, 50, 30000, |
488 720, | 360 3000000, 3000000, false, "VP8", 3, |
489 50, | 361 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
490 30000, | |
491 3000000, | |
492 3000000, | |
493 false, | |
494 "VP8", | |
495 false, | |
496 false, | |
497 3, | |
498 -1, | |
499 0, | |
500 false, | |
501 false, | |
502 "ConferenceMotion_1280_720_50"}; | |
503 conf_motion_hd.analyzer = {"conference_motion_hd_3tl_moderate_limits", 0.0, | 362 conf_motion_hd.analyzer = {"conference_motion_hd_3tl_moderate_limits", 0.0, |
504 0.0, kFullStackTestDurationSecs}; | 363 0.0, kFullStackTestDurationSecs}; |
505 conf_motion_hd.pipe.queue_length_packets = 50; | 364 conf_motion_hd.pipe.queue_length_packets = 50; |
506 conf_motion_hd.pipe.loss_percent = 3; | 365 conf_motion_hd.pipe.loss_percent = 3; |
507 conf_motion_hd.pipe.queue_delay_ms = 100; | 366 conf_motion_hd.pipe.queue_delay_ms = 100; |
508 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 367 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
509 RunTest(conf_motion_hd); | 368 RunTest(conf_motion_hd); |
510 } | 369 } |
511 | 370 |
512 TEST_F(FullStackTest, ConferenceMotionHd4TLModerateLimits) { | 371 TEST_F(FullStackTest, ConferenceMotionHd4TLModerateLimits) { |
513 VideoQualityTest::Params conf_motion_hd; | 372 VideoQualityTest::Params conf_motion_hd; |
514 conf_motion_hd.call.send_side_bwe = true; | 373 conf_motion_hd.call.send_side_bwe = true; |
515 conf_motion_hd.video = {true, | 374 conf_motion_hd.video = { |
516 1280, | 375 true, 1280, 720, 50, 30000, |
517 720, | 376 3000000, 3000000, false, "VP8", 4, |
518 50, | 377 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
519 30000, | |
520 3000000, | |
521 3000000, | |
522 false, | |
523 "VP8", | |
524 false, | |
525 false, | |
526 4, | |
527 -1, | |
528 0, | |
529 false, | |
530 false, | |
531 "ConferenceMotion_1280_720_50"}; | |
532 conf_motion_hd.analyzer = {"conference_motion_hd_4tl_moderate_limits", 0.0, | 378 conf_motion_hd.analyzer = {"conference_motion_hd_4tl_moderate_limits", 0.0, |
533 0.0, kFullStackTestDurationSecs}; | 379 0.0, kFullStackTestDurationSecs}; |
534 conf_motion_hd.pipe.queue_length_packets = 50; | 380 conf_motion_hd.pipe.queue_length_packets = 50; |
535 conf_motion_hd.pipe.loss_percent = 3; | 381 conf_motion_hd.pipe.loss_percent = 3; |
536 conf_motion_hd.pipe.queue_delay_ms = 100; | 382 conf_motion_hd.pipe.queue_delay_ms = 100; |
537 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 383 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
538 RunTest(conf_motion_hd); | 384 RunTest(conf_motion_hd); |
539 } | 385 } |
540 | 386 |
541 TEST_F(FullStackTest, ConferenceMotionHd3TLModerateLimitsAltTLPattern) { | 387 TEST_F(FullStackTest, ConferenceMotionHd3TLModerateLimitsAltTLPattern) { |
542 test::ScopedFieldTrials field_trial("WebRTC-UseShortVP8TL3Pattern/Enabled/"); | 388 test::ScopedFieldTrials field_trial("WebRTC-UseShortVP8TL3Pattern/Enabled/"); |
543 VideoQualityTest::Params conf_motion_hd; | 389 VideoQualityTest::Params conf_motion_hd; |
544 conf_motion_hd.call.send_side_bwe = true; | 390 conf_motion_hd.call.send_side_bwe = true; |
545 conf_motion_hd.video = {true, | 391 conf_motion_hd.video = { |
546 1280, | 392 true, 1280, 720, 50, 30000, |
547 720, | 393 3000000, 3000000, false, "VP8", 3, |
548 50, | 394 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
549 30000, | |
550 3000000, | |
551 3000000, | |
552 false, | |
553 "VP8", | |
554 false, | |
555 false, | |
556 3, | |
557 -1, | |
558 0, | |
559 false, | |
560 false, | |
561 "ConferenceMotion_1280_720_50"}; | |
562 conf_motion_hd.analyzer = {"conference_motion_hd_3tl_alt_moderate_limits", | 395 conf_motion_hd.analyzer = {"conference_motion_hd_3tl_alt_moderate_limits", |
563 0.0, 0.0, kFullStackTestDurationSecs}; | 396 0.0, 0.0, kFullStackTestDurationSecs}; |
564 conf_motion_hd.pipe.queue_length_packets = 50; | 397 conf_motion_hd.pipe.queue_length_packets = 50; |
565 conf_motion_hd.pipe.loss_percent = 3; | 398 conf_motion_hd.pipe.loss_percent = 3; |
566 conf_motion_hd.pipe.queue_delay_ms = 100; | 399 conf_motion_hd.pipe.queue_delay_ms = 100; |
567 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 400 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
568 RunTest(conf_motion_hd); | 401 RunTest(conf_motion_hd); |
569 } | 402 } |
570 | 403 |
571 #if !defined(RTC_DISABLE_VP9) | 404 #if !defined(RTC_DISABLE_VP9) |
572 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) { | 405 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) { |
573 VideoQualityTest::Params conf_motion_hd; | 406 VideoQualityTest::Params conf_motion_hd; |
574 conf_motion_hd.call.send_side_bwe = true; | 407 conf_motion_hd.call.send_side_bwe = true; |
575 conf_motion_hd.video = {true, | 408 conf_motion_hd.video = { |
576 1280, | 409 true, 1280, 720, 50, 30000, |
577 720, | 410 3000000, 3000000, false, "VP9", 1, |
578 50, | 411 0, 0, false, false, "ConferenceMotion_1280_720_50"}; |
579 30000, | |
580 3000000, | |
581 3000000, | |
582 false, | |
583 "VP9", | |
584 false, | |
585 false, | |
586 1, | |
587 0, | |
588 0, | |
589 false, | |
590 false, | |
591 "ConferenceMotion_1280_720_50"}; | |
592 conf_motion_hd.analyzer = { | 412 conf_motion_hd.analyzer = { |
593 "conference_motion_hd_2000kbps_100ms_32pkts_queue_vp9", 0.0, 0.0, | 413 "conference_motion_hd_2000kbps_100ms_32pkts_queue_vp9", 0.0, 0.0, |
594 kFullStackTestDurationSecs}; | 414 kFullStackTestDurationSecs}; |
595 conf_motion_hd.pipe.queue_length_packets = 32; | 415 conf_motion_hd.pipe.queue_length_packets = 32; |
596 conf_motion_hd.pipe.queue_delay_ms = 100; | 416 conf_motion_hd.pipe.queue_delay_ms = 100; |
597 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 417 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
598 RunTest(conf_motion_hd); | 418 RunTest(conf_motion_hd); |
599 } | 419 } |
600 #endif | 420 #endif |
601 | 421 |
602 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { | 422 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { |
603 VideoQualityTest::Params screenshare; | 423 VideoQualityTest::Params screenshare; |
604 screenshare.call.send_side_bwe = true; | 424 screenshare.call.send_side_bwe = true; |
605 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 425 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
606 2000000, false, "VP8", false, false, 2, | 426 "VP8", 2, 1, 400000, false, false, ""}; |
607 1, 400000, false, false, ""}; | |
608 screenshare.screenshare = {true, false, 10}; | 427 screenshare.screenshare = {true, false, 10}; |
609 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, | 428 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, |
610 kFullStackTestDurationSecs}; | 429 kFullStackTestDurationSecs}; |
611 RunTest(screenshare); | 430 RunTest(screenshare); |
612 } | 431 } |
613 | 432 |
614 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) { | 433 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) { |
615 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment); | 434 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment); |
616 VideoQualityTest::Params screenshare; | 435 VideoQualityTest::Params screenshare; |
617 screenshare.call.send_side_bwe = true; | 436 screenshare.call.send_side_bwe = true; |
618 screenshare.screenshare = {true, false, 10}; | 437 screenshare.screenshare = {true, false, 10}; |
619 screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, | 438 screenshare.video = {true, 1850, 1110, 5, 800000, |
620 2500000, false, "VP8", false, false, 3, | 439 2500000, 2500000, false, "VP8", 3, |
621 2, 400000, false, false, ""}; | 440 2, 400000, false, false, ""}; |
622 screenshare.analyzer = {"screenshare_slides_simulcast", 0.0, 0.0, | 441 screenshare.analyzer = {"screenshare_slides_simulcast", 0.0, 0.0, |
623 kFullStackTestDurationSecs}; | 442 kFullStackTestDurationSecs}; |
624 VideoQualityTest::Params screenshare_params_high; | 443 VideoQualityTest::Params screenshare_params_high; |
625 screenshare_params_high.video = { | 444 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, |
626 true, 1850, 1110, 5, 800000, 2500000, 2500000, false, "VP8", | 445 2500000, 2500000, false, "VP8", 3, |
627 false, false, 3, 0, 400000, false, false, ""}; | 446 0, 400000, false, false, ""}; |
628 VideoQualityTest::Params screenshare_params_low; | 447 VideoQualityTest::Params screenshare_params_low; |
629 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, | 448 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, |
630 2000000, false, "VP8", false, false, 2, | 449 200000, 2000000, false, "VP8", 2, |
631 0, 400000, false, false, ""}; | 450 0, 400000, false, false, ""}; |
632 | 451 |
633 std::vector<VideoStream> streams = { | 452 std::vector<VideoStream> streams = { |
634 DefaultVideoStream(screenshare_params_low), | 453 DefaultVideoStream(screenshare_params_low), |
635 DefaultVideoStream(screenshare_params_high)}; | 454 DefaultVideoStream(screenshare_params_high)}; |
636 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; | 455 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; |
637 RunTest(screenshare); | 456 RunTest(screenshare); |
638 } | 457 } |
639 | 458 |
640 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { | 459 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { |
641 VideoQualityTest::Params config; | 460 VideoQualityTest::Params config; |
642 config.call.send_side_bwe = true; | 461 config.call.send_side_bwe = true; |
643 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, | 462 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, |
644 2000000, false, "VP8", false, false, 2, | 463 "VP8", 2, 1, 400000, false, false, ""}; |
645 1, 400000, false, false, ""}; | |
646 config.screenshare = {true, false, 10, 2}; | 464 config.screenshare = {true, false, 10, 2}; |
647 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, | 465 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, |
648 kFullStackTestDurationSecs}; | 466 kFullStackTestDurationSecs}; |
649 RunTest(config); | 467 RunTest(config); |
650 } | 468 } |
651 | 469 |
652 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { | 470 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { |
653 VideoQualityTest::Params screenshare; | 471 VideoQualityTest::Params screenshare; |
654 screenshare.call.send_side_bwe = true; | 472 screenshare.call.send_side_bwe = true; |
655 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 473 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
656 2000000, false, "VP8", false, false, 2, | 474 "VP8", 2, 1, 400000, false, false, ""}; |
657 1, 400000, false, false, ""}; | |
658 screenshare.screenshare = {true, false, 10}; | 475 screenshare.screenshare = {true, false, 10}; |
659 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, | 476 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, |
660 kFullStackTestDurationSecs}; | 477 kFullStackTestDurationSecs}; |
661 screenshare.pipe.loss_percent = 5; | 478 screenshare.pipe.loss_percent = 5; |
662 screenshare.pipe.queue_delay_ms = 200; | 479 screenshare.pipe.queue_delay_ms = 200; |
663 screenshare.pipe.link_capacity_kbps = 500; | 480 screenshare.pipe.link_capacity_kbps = 500; |
664 RunTest(screenshare); | 481 RunTest(screenshare); |
665 } | 482 } |
666 | 483 |
667 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { | 484 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { |
668 VideoQualityTest::Params screenshare; | 485 VideoQualityTest::Params screenshare; |
669 screenshare.call.send_side_bwe = true; | 486 screenshare.call.send_side_bwe = true; |
670 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 487 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
671 2000000, false, "VP8", false, false, 2, | 488 "VP8", 2, 1, 400000, false, false, ""}; |
672 1, 400000, false, false, ""}; | |
673 screenshare.screenshare = {true, false, 10}; | 489 screenshare.screenshare = {true, false, 10}; |
674 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, | 490 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, |
675 kFullStackTestDurationSecs}; | 491 kFullStackTestDurationSecs}; |
676 screenshare.pipe.loss_percent = 10; | 492 screenshare.pipe.loss_percent = 10; |
677 screenshare.pipe.queue_delay_ms = 200; | 493 screenshare.pipe.queue_delay_ms = 200; |
678 screenshare.pipe.link_capacity_kbps = 500; | 494 screenshare.pipe.link_capacity_kbps = 500; |
679 RunTest(screenshare); | 495 RunTest(screenshare); |
680 } | 496 } |
681 | 497 |
682 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) { | 498 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) { |
683 VideoQualityTest::Params screenshare; | 499 VideoQualityTest::Params screenshare; |
684 screenshare.call.send_side_bwe = true; | 500 screenshare.call.send_side_bwe = true; |
685 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 501 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
686 2000000, false, "VP8", false, false, 2, | 502 "VP8", 2, 1, 400000, false, false, ""}; |
687 1, 400000, false, false, ""}; | |
688 screenshare.screenshare = {true, false, 10}; | 503 screenshare.screenshare = {true, false, 10}; |
689 screenshare.analyzer = {"screenshare_slides_lossy_limited", 0.0, 0.0, | 504 screenshare.analyzer = {"screenshare_slides_lossy_limited", 0.0, 0.0, |
690 kFullStackTestDurationSecs}; | 505 kFullStackTestDurationSecs}; |
691 screenshare.pipe.loss_percent = 5; | 506 screenshare.pipe.loss_percent = 5; |
692 screenshare.pipe.link_capacity_kbps = 200; | 507 screenshare.pipe.link_capacity_kbps = 200; |
693 screenshare.pipe.queue_length_packets = 30; | 508 screenshare.pipe.queue_length_packets = 30; |
694 | 509 |
695 RunTest(screenshare); | 510 RunTest(screenshare); |
696 } | 511 } |
697 | 512 |
698 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) { | 513 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) { |
699 VideoQualityTest::Params screenshare; | 514 VideoQualityTest::Params screenshare; |
700 screenshare.call.send_side_bwe = true; | 515 screenshare.call.send_side_bwe = true; |
701 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 516 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
702 2000000, false, "VP8", false, false, 2, | 517 "VP8", 2, 1, 400000, false, false, ""}; |
703 1, 400000, false, false, ""}; | |
704 screenshare.screenshare = {true, false, 10}; | 518 screenshare.screenshare = {true, false, 10}; |
705 screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0, | 519 screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0, |
706 kFullStackTestDurationSecs}; | 520 kFullStackTestDurationSecs}; |
707 screenshare.pipe.loss_percent = 1; | 521 screenshare.pipe.loss_percent = 1; |
708 screenshare.pipe.link_capacity_kbps = 1200; | 522 screenshare.pipe.link_capacity_kbps = 1200; |
709 screenshare.pipe.queue_length_packets = 30; | 523 screenshare.pipe.queue_length_packets = 30; |
710 | 524 |
711 RunTest(screenshare); | 525 RunTest(screenshare); |
712 } | 526 } |
713 | 527 |
714 // TODO(sprang): Retire these tests once experiment is removed. | 528 // TODO(sprang): Retire these tests once experiment is removed. |
715 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue_ALR) { | 529 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue_ALR) { |
716 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); | 530 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
717 VideoQualityTest::Params screenshare; | 531 VideoQualityTest::Params screenshare; |
718 screenshare.call.send_side_bwe = true; | 532 screenshare.call.send_side_bwe = true; |
719 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 533 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
720 2000000, false, "VP8", false, false, 2, | 534 "VP8", 2, 1, 400000, false, false, ""}; |
721 1, 400000, false, false, ""}; | |
722 screenshare.screenshare = {true, false, 10}; | 535 screenshare.screenshare = {true, false, 10}; |
723 screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0, | 536 screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0, |
724 kFullStackTestDurationSecs}; | 537 kFullStackTestDurationSecs}; |
725 screenshare.pipe.loss_percent = 5; | 538 screenshare.pipe.loss_percent = 5; |
726 screenshare.pipe.link_capacity_kbps = 200; | 539 screenshare.pipe.link_capacity_kbps = 200; |
727 screenshare.pipe.queue_length_packets = 30; | 540 screenshare.pipe.queue_length_packets = 30; |
728 | 541 |
729 RunTest(screenshare); | 542 RunTest(screenshare); |
730 } | 543 } |
731 | 544 |
732 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ALR) { | 545 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ALR) { |
733 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); | 546 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
734 VideoQualityTest::Params screenshare; | 547 VideoQualityTest::Params screenshare; |
735 screenshare.call.send_side_bwe = true; | 548 screenshare.call.send_side_bwe = true; |
736 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 549 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
737 2000000, false, "VP8", false, false, 2, | 550 "VP8", 2, 1, 400000, false, false, ""}; |
738 1, 400000, false, false, ""}; | |
739 screenshare.screenshare = {true, false, 10}; | 551 screenshare.screenshare = {true, false, 10}; |
740 screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0, | 552 screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0, |
741 kFullStackTestDurationSecs}; | 553 kFullStackTestDurationSecs}; |
742 RunTest(screenshare); | 554 RunTest(screenshare); |
743 } | 555 } |
744 | 556 |
745 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted_ALR) { | 557 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted_ALR) { |
746 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); | 558 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
747 VideoQualityTest::Params screenshare; | 559 VideoQualityTest::Params screenshare; |
748 screenshare.call.send_side_bwe = true; | 560 screenshare.call.send_side_bwe = true; |
749 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 561 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
750 2000000, false, "VP8", false, false, 2, | 562 "VP8", 2, 1, 400000, false, false, ""}; |
751 1, 400000, false, false, ""}; | |
752 screenshare.screenshare = {true, false, 10}; | 563 screenshare.screenshare = {true, false, 10}; |
753 screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0, | 564 screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0, |
754 0.0, kFullStackTestDurationSecs}; | 565 0.0, kFullStackTestDurationSecs}; |
755 screenshare.pipe.loss_percent = 1; | 566 screenshare.pipe.loss_percent = 1; |
756 screenshare.pipe.link_capacity_kbps = 1200; | 567 screenshare.pipe.link_capacity_kbps = 1200; |
757 screenshare.pipe.queue_length_packets = 30; | 568 screenshare.pipe.queue_length_packets = 30; |
758 | 569 |
759 RunTest(screenshare); | 570 RunTest(screenshare); |
760 } | 571 } |
761 | 572 |
762 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast_ALR) { | 573 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast_ALR) { |
763 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment + | 574 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment + |
764 kAlrProbingExperiment); | 575 kAlrProbingExperiment); |
765 VideoQualityTest::Params screenshare; | 576 VideoQualityTest::Params screenshare; |
766 screenshare.call.send_side_bwe = true; | 577 screenshare.call.send_side_bwe = true; |
767 screenshare.screenshare = {true, false, 10}; | 578 screenshare.screenshare = {true, false, 10}; |
768 screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, | 579 screenshare.video = {true, 1850, 1110, 5, 800000, |
769 2500000, false, "VP8", false, false, 3, | 580 2500000, 2500000, false, "VP8", 3, |
770 2, 400000, false, false, ""}; | 581 2, 400000, false, false, ""}; |
771 screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0, | 582 screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0, |
772 kFullStackTestDurationSecs}; | 583 kFullStackTestDurationSecs}; |
773 VideoQualityTest::Params screenshare_params_high; | 584 VideoQualityTest::Params screenshare_params_high; |
774 screenshare_params_high.video = { | 585 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, |
775 true, 1850, 1110, 5, 800000, 2500000, 2500000, false, "VP8", | 586 2500000, 2500000, false, "VP8", 3, |
776 false, false, 3, 0, 400000, false, false, ""}; | 587 0, 400000, false, false, ""}; |
777 VideoQualityTest::Params screenshare_params_low; | 588 VideoQualityTest::Params screenshare_params_low; |
778 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, | 589 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, |
779 2000000, false, "VP8", false, false, 2, | 590 200000, 2000000, false, "VP8", 2, |
780 0, 400000, false, false, ""}; | 591 0, 400000, false, false, ""}; |
781 | 592 |
782 std::vector<VideoStream> streams = { | 593 std::vector<VideoStream> streams = { |
783 DefaultVideoStream(screenshare_params_low), | 594 DefaultVideoStream(screenshare_params_low), |
784 DefaultVideoStream(screenshare_params_high)}; | 595 DefaultVideoStream(screenshare_params_high)}; |
785 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; | 596 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; |
786 RunTest(screenshare); | 597 RunTest(screenshare); |
787 } | 598 } |
788 | 599 |
789 const VideoQualityTest::Params::Video kSvcVp9Video = { | 600 const VideoQualityTest::Params::Video kSvcVp9Video = { |
790 true, | 601 true, 1280, 720, 30, 800000, |
791 1280, | 602 2500000, 2500000, false, "VP9", 3, |
792 720, | 603 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
793 30, | |
794 800000, | |
795 2500000, | |
796 2500000, | |
797 false, | |
798 "VP9", | |
799 false, | |
800 false, | |
801 3, | |
802 2, | |
803 400000, | |
804 false, | |
805 false, | |
806 "ConferenceMotion_1280_720_50"}; | |
807 | 604 |
808 const VideoQualityTest::Params::Video kSimulcastVp8VideoHigh = { | 605 const VideoQualityTest::Params::Video kSimulcastVp8VideoHigh = { |
809 true, | 606 true, 1280, 720, 30, 800000, |
810 1280, | 607 2500000, 2500000, false, "VP8", 3, |
811 720, | 608 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
812 30, | |
813 800000, | |
814 2500000, | |
815 2500000, | |
816 false, | |
817 "VP8", | |
818 false, | |
819 false, | |
820 3, | |
821 2, | |
822 400000, | |
823 false, | |
824 false, | |
825 "ConferenceMotion_1280_720_50"}; | |
826 | 609 |
827 const VideoQualityTest::Params::Video kSimulcastVp8VideoMedium = { | 610 const VideoQualityTest::Params::Video kSimulcastVp8VideoMedium = { |
828 true, | 611 true, 640, 360, 30, 150000, |
829 640, | 612 500000, 700000, false, "VP8", 3, |
830 360, | 613 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
831 30, | |
832 150000, | |
833 500000, | |
834 700000, | |
835 false, | |
836 "VP8", | |
837 false, | |
838 false, | |
839 3, | |
840 2, | |
841 400000, | |
842 false, | |
843 false, | |
844 "ConferenceMotion_1280_720_50"}; | |
845 | 614 |
846 const VideoQualityTest::Params::Video kSimulcastVp8VideoLow = { | 615 const VideoQualityTest::Params::Video kSimulcastVp8VideoLow = { |
847 true, | 616 true, 320, 180, 30, 30000, |
848 320, | 617 150000, 200000, false, "VP8", 3, |
849 180, | 618 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
850 30, | |
851 30000, | |
852 150000, | |
853 200000, | |
854 false, | |
855 "VP8", | |
856 false, | |
857 false, | |
858 3, | |
859 2, | |
860 400000, | |
861 false, | |
862 false, | |
863 "ConferenceMotion_1280_720_50"}; | |
864 | 619 |
865 #if !defined(RTC_DISABLE_VP9) | 620 #if !defined(RTC_DISABLE_VP9) |
866 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { | 621 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { |
867 VideoQualityTest::Params screenshare; | 622 VideoQualityTest::Params screenshare; |
868 screenshare.call.send_side_bwe = true; | 623 screenshare.call.send_side_bwe = true; |
869 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 624 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
870 2000000, false, "VP9", false, false, 1, | 625 "VP9", 1, 0, 400000, false, false, ""}; |
871 0, 400000, false, false, ""}; | |
872 screenshare.screenshare = {true, false, 10}; | 626 screenshare.screenshare = {true, false, 10}; |
873 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, | 627 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, |
874 kFullStackTestDurationSecs}; | 628 kFullStackTestDurationSecs}; |
875 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1, | 629 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1, |
876 std::vector<SpatialLayer>(), false}; | 630 std::vector<SpatialLayer>(), false}; |
877 RunTest(screenshare); | 631 RunTest(screenshare); |
878 } | 632 } |
879 | 633 |
880 TEST_F(FullStackTest, VP9SVC_3SL_High) { | 634 TEST_F(FullStackTest, VP9SVC_3SL_High) { |
881 VideoQualityTest::Params simulcast; | 635 VideoQualityTest::Params simulcast; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
913 // Android bots can't handle FullHD, so disable the test. | 667 // Android bots can't handle FullHD, so disable the test. |
914 #if defined(WEBRTC_ANDROID) | 668 #if defined(WEBRTC_ANDROID) |
915 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse | 669 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse |
916 #else | 670 #else |
917 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse | 671 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse |
918 #endif | 672 #endif |
919 | 673 |
920 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) { | 674 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) { |
921 VideoQualityTest::Params simulcast; | 675 VideoQualityTest::Params simulcast; |
922 simulcast.call.send_side_bwe = true; | 676 simulcast.call.send_side_bwe = true; |
923 simulcast.video = {true, 1920, 1080, 30, 800000, 2500000, | 677 simulcast.video = {true, 1920, 1080, 30, 800000, |
924 2500000, false, "VP8", false, false, 3, | 678 2500000, 2500000, false, "VP8", 3, |
925 2, 400000, false, false, "Generator"}; | 679 2, 400000, false, false, "Generator"}; |
926 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0, | 680 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0, |
927 kFullStackTestDurationSecs}; | 681 kFullStackTestDurationSecs}; |
928 simulcast.pipe.loss_percent = 0; | 682 simulcast.pipe.loss_percent = 0; |
929 simulcast.pipe.queue_delay_ms = 100; | 683 simulcast.pipe.queue_delay_ms = 100; |
930 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast), | 684 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast), |
931 DefaultVideoStream(simulcast), | 685 DefaultVideoStream(simulcast), |
932 DefaultVideoStream(simulcast)}; | 686 DefaultVideoStream(simulcast)}; |
933 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true}; | 687 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true}; |
934 webrtc::test::ScopedFieldTrials override_trials( | 688 webrtc::test::ScopedFieldTrials override_trials( |
935 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/"); | 689 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/"); |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1076 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 830 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
1077 DefaultVideoStream(video_params_medium), | 831 DefaultVideoStream(video_params_medium), |
1078 DefaultVideoStream(video_params_high)}; | 832 DefaultVideoStream(video_params_high)}; |
1079 large_room.call.num_thumbnails = 50; | 833 large_room.call.num_thumbnails = 50; |
1080 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; | 834 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; |
1081 RunTest(large_room); | 835 RunTest(large_room); |
1082 } | 836 } |
1083 | 837 |
1084 | 838 |
1085 } // namespace webrtc | 839 } // namespace webrtc |
OLD | NEW |