OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 send_bucket_->Process(); | 281 send_bucket_->Process(); |
282 for (int k = 0; k < 10; ++k) { | 282 for (int k = 0; k < 10; ++k) { |
283 EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); | 283 EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); |
284 clock_.AdvanceTimeMilliseconds(5); | 284 clock_.AdvanceTimeMilliseconds(5); |
285 | 285 |
286 for (int i = 0; i < 3; ++i) { | 286 for (int i = 0; i < 3; ++i) { |
287 EXPECT_CALL(callback_, | 287 EXPECT_CALL(callback_, |
288 TimeToSendPacket(ssrc, queued_sequence_number++, _, false)) | 288 TimeToSendPacket(ssrc, queued_sequence_number++, _, false)) |
289 .Times(1) | 289 .Times(1) |
290 .WillRepeatedly(Return(true)); | 290 .WillRepeatedly(Return(true)); |
291 } | 291 } |
292 EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); | 292 EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); |
293 EXPECT_EQ(0, send_bucket_->Process()); | 293 EXPECT_EQ(0, send_bucket_->Process()); |
294 } | 294 } |
295 EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); | 295 EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); |
296 clock_.AdvanceTimeMilliseconds(5); | 296 clock_.AdvanceTimeMilliseconds(5); |
297 EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); | 297 EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); |
298 EXPECT_EQ(0, send_bucket_->Process()); | 298 EXPECT_EQ(0, send_bucket_->Process()); |
299 SendAndExpectPacket(PacedSender::kNormalPriority, | 299 SendAndExpectPacket(PacedSender::kNormalPriority, |
300 ssrc, | 300 ssrc, |
301 sequence_number++, | 301 sequence_number++, |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 const int64_t kBitrateWindow = 10000; | 415 const int64_t kBitrateWindow = 10000; |
416 PacedSenderPadding callback; | 416 PacedSenderPadding callback; |
417 send_bucket_.reset(new PacedSender( | 417 send_bucket_.reset(new PacedSender( |
418 &clock_, &callback, kTargetBitrate, kPaceMultiplier * kTargetBitrate, 0)); | 418 &clock_, &callback, kTargetBitrate, kPaceMultiplier * kTargetBitrate, 0)); |
419 send_bucket_->SetProbingEnabled(false); | 419 send_bucket_->SetProbingEnabled(false); |
420 send_bucket_->UpdateBitrate( | 420 send_bucket_->UpdateBitrate( |
421 kTargetBitrate, kPaceMultiplier * kTargetBitrate, kTargetBitrate); | 421 kTargetBitrate, kPaceMultiplier * kTargetBitrate, kTargetBitrate); |
422 int64_t start_time = clock_.TimeInMilliseconds(); | 422 int64_t start_time = clock_.TimeInMilliseconds(); |
423 size_t media_bytes = 0; | 423 size_t media_bytes = 0; |
424 while (clock_.TimeInMilliseconds() - start_time < kBitrateWindow) { | 424 while (clock_.TimeInMilliseconds() - start_time < kBitrateWindow) { |
425 size_t media_payload = rand() % 100 + 200; // [200, 300] bytes. | 425 int rand_value = rand(); // NOLINT (rand_r instead of rand) |
| 426 size_t media_payload = rand_value % 100 + 200; // [200, 300] bytes. |
426 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc, | 427 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc, |
427 sequence_number++, capture_time_ms, | 428 sequence_number++, capture_time_ms, |
428 media_payload, false); | 429 media_payload, false); |
429 media_bytes += media_payload; | 430 media_bytes += media_payload; |
430 clock_.AdvanceTimeMilliseconds(kTimeStep); | 431 clock_.AdvanceTimeMilliseconds(kTimeStep); |
431 send_bucket_->Process(); | 432 send_bucket_->Process(); |
432 } | 433 } |
433 EXPECT_NEAR(kTargetBitrate, | 434 EXPECT_NEAR(kTargetBitrate, |
434 static_cast<int>(8 * (media_bytes + callback.padding_sent()) / | 435 static_cast<int>(8 * (media_bytes + callback.padding_sent()) / |
435 kBitrateWindow), 1); | 436 kBitrateWindow), 1); |
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
899 for (int i = 0; i < 3; ++i) { | 900 for (int i = 0; i < 3; ++i) { |
900 clock_.AdvanceTimeMilliseconds(30); // Max delta. | 901 clock_.AdvanceTimeMilliseconds(30); // Max delta. |
901 send_bucket_->Process(); | 902 send_bucket_->Process(); |
902 } | 903 } |
903 | 904 |
904 EXPECT_EQ(0, send_bucket_->AverageQueueTimeMs()); | 905 EXPECT_EQ(0, send_bucket_->AverageQueueTimeMs()); |
905 } | 906 } |
906 | 907 |
907 } // namespace test | 908 } // namespace test |
908 } // namespace webrtc | 909 } // namespace webrtc |
OLD | NEW |