| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 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 |
| 11 #include "webrtc/modules/congestion_controller/probe_bitrate_estimator.h" | 11 #include "webrtc/modules/congestion_controller/probe_bitrate_estimator.h" |
| 12 | 12 |
| 13 #include <vector> | 13 #include <vector> |
| 14 #include <utility> | 14 #include <utility> |
| 15 | 15 |
| 16 #include "webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h" | 16 #include "webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h" |
| 17 #include "webrtc/test/gmock.h" | 17 #include "webrtc/test/gmock.h" |
| 18 #include "webrtc/test/gtest.h" | 18 #include "webrtc/test/gtest.h" |
| 19 | 19 |
| 20 namespace webrtc { | 20 namespace webrtc { |
| 21 | 21 |
| 22 namespace { | 22 namespace { |
| 23 constexpr int kInvalidBitrate = -1; | 23 constexpr int kInvalidBitrate = -1; |
| 24 constexpr int kDefaultMinProbes = 5; | 24 constexpr int kDefaultMinProbes = 5; |
| 25 constexpr int kDefaultMinBytes = 5000; | 25 constexpr int kDefaultMinBytes = 5000; |
| 26 } // anonymous namespace | 26 } // anonymous namespace |
| 27 | 27 |
| 28 class TestProbeBitrateEstimator : public ::testing::Test { | 28 class TestProbeBitrateEstimator : public ::testing::Test { |
| 29 public: | 29 public: |
| 30 TestProbeBitrateEstimator() : probe_bitrate_estimator_() {} | 30 TestProbeBitrateEstimator() : probe_bitrate_estimator_(nullptr) {} |
| 31 | 31 |
| 32 // TODO(philipel): Use PacedPacketInfo when ProbeBitrateEstimator is rewritten | 32 // TODO(philipel): Use PacedPacketInfo when ProbeBitrateEstimator is rewritten |
| 33 // to use that information. | 33 // to use that information. |
| 34 void AddPacketFeedback(int probe_cluster_id, | 34 void AddPacketFeedback(int probe_cluster_id, |
| 35 size_t size_bytes, | 35 size_t size_bytes, |
| 36 int64_t send_time_ms, | 36 int64_t send_time_ms, |
| 37 int64_t arrival_time_ms, | 37 int64_t arrival_time_ms, |
| 38 int min_probes = kDefaultMinProbes, | 38 int min_probes = kDefaultMinProbes, |
| 39 int min_bytes = kDefaultMinBytes) { | 39 int min_bytes = kDefaultMinBytes) { |
| 40 PacedPacketInfo pacing_info(probe_cluster_id, min_probes, min_bytes); | 40 PacedPacketInfo pacing_info(probe_cluster_id, min_probes, min_bytes); |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 TEST_F(TestProbeBitrateEstimator, IgnoreSizeFirstReceivePacket) { | 187 TEST_F(TestProbeBitrateEstimator, IgnoreSizeFirstReceivePacket) { |
| 188 AddPacketFeedback(0, 1500, 0, 10); | 188 AddPacketFeedback(0, 1500, 0, 10); |
| 189 AddPacketFeedback(0, 1000, 10, 20); | 189 AddPacketFeedback(0, 1000, 10, 20); |
| 190 AddPacketFeedback(0, 1000, 20, 30); | 190 AddPacketFeedback(0, 1000, 20, 30); |
| 191 AddPacketFeedback(0, 1000, 30, 40); | 191 AddPacketFeedback(0, 1000, 30, 40); |
| 192 | 192 |
| 193 EXPECT_NEAR(measured_bps_, 800000, 10); | 193 EXPECT_NEAR(measured_bps_, 800000, 10); |
| 194 } | 194 } |
| 195 | 195 |
| 196 } // namespace webrtc | 196 } // namespace webrtc |
| OLD | NEW |