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 |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 } | 99 } |
100 | 100 |
101 } // namespace | 101 } // namespace |
102 | 102 |
103 TEST(AudioNetworkAdaptorImplTest, | 103 TEST(AudioNetworkAdaptorImplTest, |
104 MakeDecisionIsCalledOnGetEncoderRuntimeConfig) { | 104 MakeDecisionIsCalledOnGetEncoderRuntimeConfig) { |
105 auto states = CreateAudioNetworkAdaptor(); | 105 auto states = CreateAudioNetworkAdaptor(); |
106 | 106 |
107 constexpr int kBandwidth = 16000; | 107 constexpr int kBandwidth = 16000; |
108 constexpr float kPacketLoss = 0.7f; | 108 constexpr float kPacketLoss = 0.7f; |
| 109 constexpr int kRtt = 100; |
| 110 constexpr int kTargetAudioBitrate = 15000; |
109 | 111 |
110 Controller::NetworkMetrics check; | 112 Controller::NetworkMetrics check; |
111 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth); | 113 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth); |
112 | |
113 for (auto& mock_controller : states.mock_controllers) { | 114 for (auto& mock_controller : states.mock_controllers) { |
114 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _)); | 115 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _)); |
115 } | 116 } |
116 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth); | 117 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth); |
117 states.audio_network_adaptor->GetEncoderRuntimeConfig(); | 118 states.audio_network_adaptor->GetEncoderRuntimeConfig(); |
118 | 119 |
119 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss); | 120 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss); |
120 for (auto& mock_controller : states.mock_controllers) { | 121 for (auto& mock_controller : states.mock_controllers) { |
121 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _)); | 122 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _)); |
122 } | 123 } |
123 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); | 124 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); |
124 states.audio_network_adaptor->GetEncoderRuntimeConfig(); | 125 states.audio_network_adaptor->GetEncoderRuntimeConfig(); |
| 126 |
| 127 check.rtt_ms = rtc::Optional<int>(kRtt); |
| 128 for (auto& mock_controller : states.mock_controllers) { |
| 129 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _)); |
| 130 } |
| 131 states.audio_network_adaptor->SetRtt(kRtt); |
| 132 states.audio_network_adaptor->GetEncoderRuntimeConfig(); |
| 133 |
| 134 check.target_audio_bitrate_bps = rtc::Optional<int>(kTargetAudioBitrate); |
| 135 for (auto& mock_controller : states.mock_controllers) { |
| 136 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _)); |
| 137 } |
| 138 states.audio_network_adaptor->SetTargetAudioBitrate(kTargetAudioBitrate); |
| 139 states.audio_network_adaptor->GetEncoderRuntimeConfig(); |
125 } | 140 } |
126 | 141 |
127 TEST(AudioNetworkAdaptorImplTest, SetConstraintsIsCalledOnSetFrameLengthRange) { | 142 TEST(AudioNetworkAdaptorImplTest, SetConstraintsIsCalledOnSetFrameLengthRange) { |
128 auto states = CreateAudioNetworkAdaptor(); | 143 auto states = CreateAudioNetworkAdaptor(); |
129 | 144 |
130 for (auto& mock_controller : states.mock_controllers) { | 145 for (auto& mock_controller : states.mock_controllers) { |
131 EXPECT_CALL(*mock_controller, | 146 EXPECT_CALL(*mock_controller, |
132 SetConstraints(ConstraintsReceiverFrameLengthRangeIs( | 147 SetConstraints(ConstraintsReceiverFrameLengthRangeIs( |
133 Controller::Constraints::FrameLengthRange(20, 120)))); | 148 Controller::Constraints::FrameLengthRange(20, 120)))); |
134 } | 149 } |
(...skipping 17 matching lines...) Expand all Loading... |
152 states.audio_network_adaptor->GetEncoderRuntimeConfig(); | 167 states.audio_network_adaptor->GetEncoderRuntimeConfig(); |
153 } | 168 } |
154 | 169 |
155 TEST(AudioNetworkAdaptorImplTest, | 170 TEST(AudioNetworkAdaptorImplTest, |
156 DumpNetworkMetricsIsCalledOnSetNetworkMetrics) { | 171 DumpNetworkMetricsIsCalledOnSetNetworkMetrics) { |
157 auto states = CreateAudioNetworkAdaptor(); | 172 auto states = CreateAudioNetworkAdaptor(); |
158 | 173 |
159 constexpr int kBandwidth = 16000; | 174 constexpr int kBandwidth = 16000; |
160 constexpr float kPacketLoss = 0.7f; | 175 constexpr float kPacketLoss = 0.7f; |
161 constexpr int kRtt = 100; | 176 constexpr int kRtt = 100; |
| 177 constexpr int kTargetAudioBitrate = 15000; |
162 | 178 |
163 Controller::NetworkMetrics check; | 179 Controller::NetworkMetrics check; |
164 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth); | 180 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth); |
165 int64_t timestamp_check = kClockInitialTimeMs; | 181 int64_t timestamp_check = kClockInitialTimeMs; |
166 | 182 |
167 EXPECT_CALL(*states.mock_debug_dump_writer, | 183 EXPECT_CALL(*states.mock_debug_dump_writer, |
168 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); | 184 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); |
169 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth); | 185 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth); |
170 | 186 |
171 states.simulated_clock->AdvanceTimeMilliseconds(100); | 187 states.simulated_clock->AdvanceTimeMilliseconds(100); |
172 timestamp_check += 100; | 188 timestamp_check += 100; |
173 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss); | 189 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss); |
174 EXPECT_CALL(*states.mock_debug_dump_writer, | 190 EXPECT_CALL(*states.mock_debug_dump_writer, |
175 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); | 191 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); |
176 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); | 192 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); |
177 | 193 |
178 states.simulated_clock->AdvanceTimeMilliseconds(200); | 194 states.simulated_clock->AdvanceTimeMilliseconds(200); |
179 timestamp_check += 200; | 195 timestamp_check += 200; |
180 check.rtt_ms = rtc::Optional<int>(kRtt); | 196 check.rtt_ms = rtc::Optional<int>(kRtt); |
181 EXPECT_CALL(*states.mock_debug_dump_writer, | 197 EXPECT_CALL(*states.mock_debug_dump_writer, |
182 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); | 198 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); |
183 states.audio_network_adaptor->SetRtt(kRtt); | 199 states.audio_network_adaptor->SetRtt(kRtt); |
| 200 |
| 201 states.simulated_clock->AdvanceTimeMilliseconds(150); |
| 202 timestamp_check += 150; |
| 203 check.target_audio_bitrate_bps = rtc::Optional<int>(kTargetAudioBitrate); |
| 204 EXPECT_CALL(*states.mock_debug_dump_writer, |
| 205 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); |
| 206 states.audio_network_adaptor->SetTargetAudioBitrate(kTargetAudioBitrate); |
184 } | 207 } |
185 | 208 |
186 } // namespace webrtc | 209 } // namespace webrtc |
OLD | NEW |