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