Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(511)

Side by Side Diff: webrtc/modules/congestion_controller/delay_based_bwe_unittest.cc

Issue 2827333005: Moving overhead counting to bitrate estimators.
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/test/gtest.h" 11 #include "webrtc/test/gtest.h"
12 #include "webrtc/base/constructormagic.h" 12 #include "webrtc/base/constructormagic.h"
13 #include "webrtc/modules/pacing/paced_sender.h" 13 #include "webrtc/modules/pacing/paced_sender.h"
14 #include "webrtc/modules/congestion_controller/delay_based_bwe.h" 14 #include "webrtc/modules/congestion_controller/delay_based_bwe.h"
15 #include "webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.h " 15 #include "webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.h "
16 #include "webrtc/system_wrappers/include/clock.h" 16 #include "webrtc/system_wrappers/include/clock.h"
17 #include "webrtc/test/field_trial.h" 17 #include "webrtc/test/field_trial.h"
18 18
19 namespace webrtc { 19 namespace webrtc {
20 20
21 namespace { 21 namespace {
22
22 constexpr int kNumProbesCluster0 = 5; 23 constexpr int kNumProbesCluster0 = 5;
23 constexpr int kNumProbesCluster1 = 8; 24 constexpr int kNumProbesCluster1 = 8;
24 const PacedPacketInfo kPacingInfo0(0, kNumProbesCluster0, 2000); 25 const PacedPacketInfo kPacingInfo0(0, kNumProbesCluster0, 2000);
25 const PacedPacketInfo kPacingInfo1(1, kNumProbesCluster1, 4000); 26 const PacedPacketInfo kPacingInfo1(1, kNumProbesCluster1, 4000);
27 constexpr size_t kRtpHeadersSize = 12;
28 constexpr size_t kTransportHeadersSize = 20;
29
26 } // namespace 30 } // namespace
27 31
28 TEST_F(DelayBasedBweTest, NoCrashEmptyFeedback) { 32 TEST_F(DelayBasedBweTest, NoCrashEmptyFeedback) {
29 std::vector<PacketFeedback> packet_feedback_vector; 33 std::vector<PacketFeedback> packet_feedback_vector;
30 bitrate_estimator_->IncomingPacketFeedbackVector(packet_feedback_vector); 34 bitrate_estimator_->IncomingPacketFeedbackVector(packet_feedback_vector);
31 } 35 }
32 36
33 TEST_F(DelayBasedBweTest, NoCrashOnlyLostFeedback) { 37 TEST_F(DelayBasedBweTest, NoCrashOnlyLostFeedback) {
34 std::vector<PacketFeedback> packet_feedback_vector; 38 std::vector<PacketFeedback> packet_feedback_vector;
35 packet_feedback_vector.push_back( 39 packet_feedback_vector.push_back(
36 PacketFeedback(-1, -1, 0, 1500, PacedPacketInfo())); 40 PacketFeedback(-1, -1, 0, 1500, kRtpHeadersSize, kTransportHeadersSize,
41 PacedPacketInfo()));
37 packet_feedback_vector.push_back( 42 packet_feedback_vector.push_back(
38 PacketFeedback(-1, -1, 1, 1500, PacedPacketInfo())); 43 PacketFeedback(-1, -1, 1, 1500, kRtpHeadersSize, kTransportHeadersSize,
44 PacedPacketInfo()));
39 bitrate_estimator_->IncomingPacketFeedbackVector(packet_feedback_vector); 45 bitrate_estimator_->IncomingPacketFeedbackVector(packet_feedback_vector);
40 } 46 }
41 47
42 TEST_F(DelayBasedBweTest, ProbeDetection) { 48 TEST_F(DelayBasedBweTest, ProbeDetection) {
43 int64_t now_ms = clock_.TimeInMilliseconds(); 49 int64_t now_ms = clock_.TimeInMilliseconds();
44 uint16_t seq_num = 0; 50 uint16_t seq_num = 0;
45 51
46 // First burst sent at 8 * 1000 / 10 = 800 kbps. 52 // First burst sent at 8 * 1000 / 10 = 800 kbps.
47 for (int i = 0; i < kNumProbesCluster0; ++i) { 53 for (int i = 0; i < kNumProbesCluster0; ++i) {
48 clock_.AdvanceTimeMilliseconds(10); 54 clock_.AdvanceTimeMilliseconds(10);
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 185
180 TEST_F(DelayBasedBweTest, TestLongTimeoutAndWrap) { 186 TEST_F(DelayBasedBweTest, TestLongTimeoutAndWrap) {
181 // Simulate a client leaving and rejoining the call after some multiple of 187 // Simulate a client leaving and rejoining the call after some multiple of
182 // 64 seconds later. This will cause a zero difference in abs send times due 188 // 64 seconds later. This will cause a zero difference in abs send times due
183 // to the wrap, but a big difference in arrival time, if streams aren't 189 // to the wrap, but a big difference in arrival time, if streams aren't
184 // properly timed out. 190 // properly timed out.
185 TestWrappingHelper(10 * 64); 191 TestWrappingHelper(10 * 64);
186 } 192 }
187 193
188 } // namespace webrtc 194 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698