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 | 10 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 loss.SetLoss(i); | 63 loss.SetLoss(i); |
64 RunFor(5000); | 64 RunFor(5000); |
65 } | 65 } |
66 } | 66 } |
67 | 67 |
68 TEST_P(DefaultBweTest, SteadyDelay) { | 68 TEST_P(DefaultBweTest, SteadyDelay) { |
69 VideoSource source(0, 30, 300, 0, 0); | 69 VideoSource source(0, 30, 300, 0, 0); |
70 VideoSender sender(&uplink_, &source, GetParam()); | 70 VideoSender sender(&uplink_, &source, GetParam()); |
71 DelayFilter delay(&uplink_, 0); | 71 DelayFilter delay(&uplink_, 0); |
72 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 72 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
73 delay.SetDelayMs(1000); | 73 delay.SetOneWayDelayMs(1000); |
74 RunFor(10 * 60 * 1000); | 74 RunFor(10 * 60 * 1000); |
75 } | 75 } |
76 | 76 |
77 TEST_P(DefaultBweTest, IncreasingDelay1) { | 77 TEST_P(DefaultBweTest, IncreasingDelay1) { |
78 VideoSource source(0, 30, 300, 0, 0); | 78 VideoSource source(0, 30, 300, 0, 0); |
79 VideoSender sender(&uplink_, &source, GetParam()); | 79 VideoSender sender(&uplink_, &source, GetParam()); |
80 DelayFilter delay(&uplink_, 0); | 80 DelayFilter delay(&uplink_, 0); |
81 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 81 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
82 RunFor(10 * 60 * 1000); | 82 RunFor(10 * 60 * 1000); |
83 for (int i = 0; i < 30 * 2; ++i) { | 83 for (int i = 0; i < 30 * 2; ++i) { |
84 delay.SetDelayMs(i); | 84 delay.SetOneWayDelayMs(i); |
85 RunFor(10 * 1000); | 85 RunFor(10 * 1000); |
86 } | 86 } |
87 RunFor(10 * 60 * 1000); | 87 RunFor(10 * 60 * 1000); |
88 } | 88 } |
89 | 89 |
90 TEST_P(DefaultBweTest, IncreasingDelay2) { | 90 TEST_P(DefaultBweTest, IncreasingDelay2) { |
91 VideoSource source(0, 30, 300, 0, 0); | 91 VideoSource source(0, 30, 300, 0, 0); |
92 VideoSender sender(&uplink_, &source, GetParam()); | 92 VideoSender sender(&uplink_, &source, GetParam()); |
93 DelayFilter delay(&uplink_, 0); | 93 DelayFilter delay(&uplink_, 0); |
94 RateCounterFilter counter(&uplink_, 0, ""); | 94 RateCounterFilter counter(&uplink_, 0, ""); |
95 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 95 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
96 RunFor(1 * 60 * 1000); | 96 RunFor(1 * 60 * 1000); |
97 for (int i = 1; i < 51; ++i) { | 97 for (int i = 1; i < 51; ++i) { |
98 delay.SetDelayMs(10.0f * i); | 98 delay.SetOneWayDelayMs(10.0f * i); |
99 RunFor(10 * 1000); | 99 RunFor(10 * 1000); |
100 } | 100 } |
101 delay.SetDelayMs(0.0f); | 101 delay.SetOneWayDelayMs(0.0f); |
102 RunFor(10 * 60 * 1000); | 102 RunFor(10 * 60 * 1000); |
103 } | 103 } |
104 | 104 |
105 TEST_P(DefaultBweTest, JumpyDelay1) { | 105 TEST_P(DefaultBweTest, JumpyDelay1) { |
106 VideoSource source(0, 30, 300, 0, 0); | 106 VideoSource source(0, 30, 300, 0, 0); |
107 VideoSender sender(&uplink_, &source, GetParam()); | 107 VideoSender sender(&uplink_, &source, GetParam()); |
108 DelayFilter delay(&uplink_, 0); | 108 DelayFilter delay(&uplink_, 0); |
109 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 109 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
110 RunFor(10 * 60 * 1000); | 110 RunFor(10 * 60 * 1000); |
111 for (int i = 1; i < 200; ++i) { | 111 for (int i = 1; i < 200; ++i) { |
112 delay.SetDelayMs((10 * i) % 500); | 112 delay.SetOneWayDelayMs((10 * i) % 500); |
113 RunFor(1000); | 113 RunFor(1000); |
114 delay.SetDelayMs(1.0f); | 114 delay.SetOneWayDelayMs(1.0f); |
115 RunFor(1000); | 115 RunFor(1000); |
116 } | 116 } |
117 delay.SetDelayMs(0.0f); | 117 delay.SetOneWayDelayMs(0.0f); |
118 RunFor(10 * 60 * 1000); | 118 RunFor(10 * 60 * 1000); |
119 } | 119 } |
120 | 120 |
121 TEST_P(DefaultBweTest, SteadyJitter) { | 121 TEST_P(DefaultBweTest, SteadyJitter) { |
122 VideoSource source(0, 30, 300, 0, 0); | 122 VideoSource source(0, 30, 300, 0, 0); |
123 VideoSender sender(&uplink_, &source, GetParam()); | 123 VideoSender sender(&uplink_, &source, GetParam()); |
124 JitterFilter jitter(&uplink_, 0); | 124 JitterFilter jitter(&uplink_, 0); |
125 RateCounterFilter counter(&uplink_, 0, ""); | 125 RateCounterFilter counter(&uplink_, 0, ""); |
126 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 126 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
127 jitter.SetJitter(20); | 127 jitter.SetJitter(20); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 reorder.SetReorder(i); | 172 reorder.SetReorder(i); |
173 RunFor(5000); | 173 RunFor(5000); |
174 } | 174 } |
175 } | 175 } |
176 | 176 |
177 TEST_P(DefaultBweTest, SteadyChoke) { | 177 TEST_P(DefaultBweTest, SteadyChoke) { |
178 VideoSource source(0, 30, 300, 0, 0); | 178 VideoSource source(0, 30, 300, 0, 0); |
179 VideoSender sender(&uplink_, &source, GetParam()); | 179 VideoSender sender(&uplink_, &source, GetParam()); |
180 ChokeFilter choke(&uplink_, 0); | 180 ChokeFilter choke(&uplink_, 0); |
181 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 181 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
182 choke.SetCapacity(140); | 182 choke.SetCapacityKbps(140); |
183 RunFor(10 * 60 * 1000); | 183 RunFor(10 * 60 * 1000); |
184 } | 184 } |
185 | 185 |
186 TEST_P(DefaultBweTest, IncreasingChoke1) { | 186 TEST_P(DefaultBweTest, IncreasingChoke1) { |
187 VideoSource source(0, 30, 300, 0, 0); | 187 VideoSource source(0, 30, 300, 0, 0); |
188 VideoSender sender(&uplink_, &source, GetParam()); | 188 VideoSender sender(&uplink_, &source, GetParam()); |
189 ChokeFilter choke(&uplink_, 0); | 189 ChokeFilter choke(&uplink_, 0); |
190 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 190 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
191 for (int i = 1200; i >= 100; i -= 100) { | 191 for (int i = 1200; i >= 100; i -= 100) { |
192 choke.SetCapacity(i); | 192 choke.SetCapacityKbps(i); |
193 RunFor(5000); | 193 RunFor(5000); |
194 } | 194 } |
195 } | 195 } |
196 | 196 |
197 TEST_P(DefaultBweTest, IncreasingChoke2) { | 197 TEST_P(DefaultBweTest, IncreasingChoke2) { |
198 VideoSource source(0, 30, 300, 0, 0); | 198 VideoSource source(0, 30, 300, 0, 0); |
199 VideoSender sender(&uplink_, &source, GetParam()); | 199 VideoSender sender(&uplink_, &source, GetParam()); |
200 ChokeFilter choke(&uplink_, 0); | 200 ChokeFilter choke(&uplink_, 0); |
201 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 201 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
202 RunFor(60 * 1000); | 202 RunFor(60 * 1000); |
203 for (int i = 1200; i >= 100; i -= 20) { | 203 for (int i = 1200; i >= 100; i -= 20) { |
204 choke.SetCapacity(i); | 204 choke.SetCapacityKbps(i); |
205 RunFor(1000); | 205 RunFor(1000); |
206 } | 206 } |
207 } | 207 } |
208 | 208 |
209 TEST_P(DefaultBweTest, Multi1) { | 209 TEST_P(DefaultBweTest, Multi1) { |
210 VideoSource source(0, 30, 300, 0, 0); | 210 VideoSource source(0, 30, 300, 0, 0); |
211 VideoSender sender(&uplink_, &source, GetParam()); | 211 VideoSender sender(&uplink_, &source, GetParam()); |
212 DelayFilter delay(&uplink_, 0); | 212 DelayFilter delay(&uplink_, 0); |
213 ChokeFilter choke(&uplink_, 0); | 213 ChokeFilter choke(&uplink_, 0); |
214 RateCounterFilter counter(&uplink_, 0, ""); | 214 RateCounterFilter counter(&uplink_, 0, ""); |
215 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 215 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
216 choke.SetCapacity(1000); | 216 choke.SetCapacityKbps(1000); |
217 RunFor(1 * 60 * 1000); | 217 RunFor(1 * 60 * 1000); |
218 for (int i = 1; i < 51; ++i) { | 218 for (int i = 1; i < 51; ++i) { |
219 delay.SetDelayMs(100.0f * i); | 219 delay.SetOneWayDelayMs(100.0f * i); |
220 RunFor(10 * 1000); | 220 RunFor(10 * 1000); |
221 } | 221 } |
222 RunFor(500 * 1000); | 222 RunFor(500 * 1000); |
223 delay.SetDelayMs(0.0f); | 223 delay.SetOneWayDelayMs(0.0f); |
224 RunFor(5 * 60 * 1000); | 224 RunFor(5 * 60 * 1000); |
225 } | 225 } |
226 | 226 |
227 TEST_P(DefaultBweTest, Multi2) { | 227 TEST_P(DefaultBweTest, Multi2) { |
228 VideoSource source(0, 30, 300, 0, 0); | 228 VideoSource source(0, 30, 300, 0, 0); |
229 VideoSender sender(&uplink_, &source, GetParam()); | 229 VideoSender sender(&uplink_, &source, GetParam()); |
230 ChokeFilter choke(&uplink_, 0); | 230 ChokeFilter choke(&uplink_, 0); |
231 JitterFilter jitter(&uplink_, 0); | 231 JitterFilter jitter(&uplink_, 0); |
232 RateCounterFilter counter(&uplink_, 0, ""); | 232 RateCounterFilter counter(&uplink_, 0, ""); |
233 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 233 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
234 choke.SetCapacity(2000); | 234 choke.SetCapacityKbps(2000); |
235 jitter.SetJitter(120); | 235 jitter.SetJitter(120); |
236 RunFor(5 * 60 * 1000); | 236 RunFor(5 * 60 * 1000); |
237 } | 237 } |
238 | 238 |
239 // This test fixture is used to instantiate tests running with adaptive video | 239 // This test fixture is used to instantiate tests running with adaptive video |
240 // senders. | 240 // senders. |
241 class BweFeedbackTest | 241 class BweFeedbackTest |
242 : public BweTest, | 242 : public BweTest, |
243 public ::testing::TestWithParam<BandwidthEstimatorType> { | 243 public ::testing::TestWithParam<BandwidthEstimatorType> { |
244 public: | 244 public: |
(...skipping 20 matching lines...) Expand all Loading... |
265 kFullSendSideEstimator)); | 265 kFullSendSideEstimator)); |
266 | 266 |
267 TEST_P(BweFeedbackTest, Choke1000kbps500kbps1000kbps) { | 267 TEST_P(BweFeedbackTest, Choke1000kbps500kbps1000kbps) { |
268 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 268 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
269 PacedVideoSender sender(&uplink_, &source, GetParam()); | 269 PacedVideoSender sender(&uplink_, &source, GetParam()); |
270 ChokeFilter filter(&uplink_, 0); | 270 ChokeFilter filter(&uplink_, 0); |
271 RateCounterFilter counter(&uplink_, 0, "receiver_input"); | 271 RateCounterFilter counter(&uplink_, 0, "receiver_input"); |
272 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 272 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
273 const int kHighCapacityKbps = 1000; | 273 const int kHighCapacityKbps = 1000; |
274 const int kLowCapacityKbps = 500; | 274 const int kLowCapacityKbps = 500; |
275 filter.SetCapacity(kHighCapacityKbps); | 275 filter.SetCapacityKbps(kHighCapacityKbps); |
276 filter.SetMaxDelay(500); | 276 filter.SetMaxDelayMs(500); |
277 RunFor(60 * 1000); | 277 RunFor(60 * 1000); |
278 filter.SetCapacity(kLowCapacityKbps); | 278 filter.SetCapacityKbps(kLowCapacityKbps); |
279 RunFor(60 * 1000); | 279 RunFor(60 * 1000); |
280 filter.SetCapacity(kHighCapacityKbps); | 280 filter.SetCapacityKbps(kHighCapacityKbps); |
281 RunFor(60 * 1000); | 281 RunFor(60 * 1000); |
282 PrintResults((2 * kHighCapacityKbps + kLowCapacityKbps) / 3.0, | 282 PrintResults((2 * kHighCapacityKbps + kLowCapacityKbps) / 3.0, |
283 counter.GetBitrateStats(), 0, receiver.GetDelayStats(), | 283 counter.GetBitrateStats(), 0, receiver.GetDelayStats(), |
284 counter.GetBitrateStats()); | 284 counter.GetBitrateStats()); |
285 } | 285 } |
286 | 286 |
287 TEST_P(BweFeedbackTest, Choke200kbps30kbps200kbps) { | 287 TEST_P(BweFeedbackTest, Choke200kbps30kbps200kbps) { |
288 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 288 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
289 PacedVideoSender sender(&uplink_, &source, GetParam()); | 289 PacedVideoSender sender(&uplink_, &source, GetParam()); |
290 ChokeFilter filter(&uplink_, 0); | 290 ChokeFilter filter(&uplink_, 0); |
291 RateCounterFilter counter(&uplink_, 0, "receiver_input"); | 291 RateCounterFilter counter(&uplink_, 0, "receiver_input"); |
292 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 292 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
293 const int kHighCapacityKbps = 200; | 293 const int kHighCapacityKbps = 200; |
294 const int kLowCapacityKbps = 30; | 294 const int kLowCapacityKbps = 30; |
295 filter.SetCapacity(kHighCapacityKbps); | 295 filter.SetCapacityKbps(kHighCapacityKbps); |
296 filter.SetMaxDelay(500); | 296 filter.SetMaxDelayMs(500); |
297 RunFor(60 * 1000); | 297 RunFor(60 * 1000); |
298 filter.SetCapacity(kLowCapacityKbps); | 298 filter.SetCapacityKbps(kLowCapacityKbps); |
299 RunFor(60 * 1000); | 299 RunFor(60 * 1000); |
300 filter.SetCapacity(kHighCapacityKbps); | 300 filter.SetCapacityKbps(kHighCapacityKbps); |
301 RunFor(60 * 1000); | 301 RunFor(60 * 1000); |
302 | 302 |
303 PrintResults((2 * kHighCapacityKbps + kLowCapacityKbps) / 3.0, | 303 PrintResults((2 * kHighCapacityKbps + kLowCapacityKbps) / 3.0, |
304 counter.GetBitrateStats(), 0, receiver.GetDelayStats(), | 304 counter.GetBitrateStats(), 0, receiver.GetDelayStats(), |
305 counter.GetBitrateStats()); | 305 counter.GetBitrateStats()); |
306 } | 306 } |
307 | 307 |
308 TEST_P(BweFeedbackTest, Verizon4gDownlinkTest) { | 308 TEST_P(BweFeedbackTest, Verizon4gDownlinkTest) { |
309 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 309 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
310 VideoSender sender(&uplink_, &source, GetParam()); | 310 VideoSender sender(&uplink_, &source, GetParam()); |
311 RateCounterFilter counter1(&uplink_, 0, "sender_output"); | 311 RateCounterFilter counter1(&uplink_, 0, "sender_output"); |
312 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); | 312 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); |
313 RateCounterFilter counter2(&uplink_, 0, "receiver_input"); | 313 RateCounterFilter counter2(&uplink_, 0, "receiver_input"); |
314 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 314 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
315 ASSERT_TRUE(filter.Init(test::ResourcePath("verizon4g-downlink", "rx"))); | 315 ASSERT_TRUE(filter.Init(test::ResourcePath("verizon4g-downlink", "rx"))); |
316 RunFor(22 * 60 * 1000); | 316 RunFor(22 * 60 * 1000); |
317 PrintResults(filter.GetBitrateStats().GetMean(), counter2.GetBitrateStats(), | 317 PrintResults(filter.GetBitrateStats().GetMean(), counter2.GetBitrateStats(), |
318 0, receiver.GetDelayStats(), counter2.GetBitrateStats()); | 318 0, receiver.GetDelayStats(), counter2.GetBitrateStats()); |
319 } | 319 } |
320 | 320 |
321 // webrtc:3277 | 321 // webrtc:3277 |
322 TEST_P(BweFeedbackTest, GoogleWifiTrace3Mbps) { | 322 TEST_P(BweFeedbackTest, GoogleWifiTrace3Mbps) { |
323 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 323 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
324 VideoSender sender(&uplink_, &source, GetParam()); | 324 VideoSender sender(&uplink_, &source, GetParam()); |
325 RateCounterFilter counter1(&uplink_, 0, "sender_output"); | 325 RateCounterFilter counter1(&uplink_, 0, "sender_output"); |
326 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); | 326 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); |
327 filter.SetMaxDelay(500); | 327 filter.SetMaxDelayMs(500); |
328 RateCounterFilter counter2(&uplink_, 0, "receiver_input"); | 328 RateCounterFilter counter2(&uplink_, 0, "receiver_input"); |
329 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); | 329 PacketReceiver receiver(&uplink_, 0, GetParam(), false, false); |
330 ASSERT_TRUE(filter.Init(test::ResourcePath("google-wifi-3mbps", "rx"))); | 330 ASSERT_TRUE(filter.Init(test::ResourcePath("google-wifi-3mbps", "rx"))); |
331 RunFor(300 * 1000); | 331 RunFor(300 * 1000); |
332 PrintResults(filter.GetBitrateStats().GetMean(), counter2.GetBitrateStats(), | 332 PrintResults(filter.GetBitrateStats().GetMean(), counter2.GetBitrateStats(), |
333 0, receiver.GetDelayStats(), counter2.GetBitrateStats()); | 333 0, receiver.GetDelayStats(), counter2.GetBitrateStats()); |
334 } | 334 } |
335 | 335 |
336 TEST_P(BweFeedbackTest, PacedSelfFairness50msTest) { | 336 TEST_P(BweFeedbackTest, PacedSelfFairness50msTest) { |
337 RunFairnessTest(GetParam(), 4, 0, 300, 3000, 50); | 337 RunFairnessTest(GetParam(), 4, 0, 300, 3000, 50); |
(...skipping 14 matching lines...) Expand all Loading... |
352 TEST_P(BweFeedbackTest, TcpFairness500msTest) { | 352 TEST_P(BweFeedbackTest, TcpFairness500msTest) { |
353 RunFairnessTest(GetParam(), 1, 1, 300, 2000, 500); | 353 RunFairnessTest(GetParam(), 1, 1, 300, 2000, 500); |
354 } | 354 } |
355 | 355 |
356 TEST_P(BweFeedbackTest, TcpFairness1000msTest) { | 356 TEST_P(BweFeedbackTest, TcpFairness1000msTest) { |
357 RunFairnessTest(GetParam(), 1, 1, 300, 2000, 1000); | 357 RunFairnessTest(GetParam(), 1, 1, 300, 2000, 1000); |
358 } | 358 } |
359 } // namespace bwe | 359 } // namespace bwe |
360 } // namespace testing | 360 } // namespace testing |
361 } // namespace webrtc | 361 } // namespace webrtc |
OLD | NEW |