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

Side by Side Diff: webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc

Issue 2661043003: Allow ANA to receive RPLR (recoverable packet loss rate) indications (Closed)
Patch Set: Uncomment thread-checker to fix UT Created 3 years, 9 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
(...skipping 18 matching lines...) Expand all
29 29
30 constexpr size_t kNumControllers = 2; 30 constexpr size_t kNumControllers = 2;
31 31
32 constexpr int64_t kClockInitialTimeMs = 12345678; 32 constexpr int64_t kClockInitialTimeMs = 12345678;
33 33
34 MATCHER_P(NetworkMetricsIs, metric, "") { 34 MATCHER_P(NetworkMetricsIs, metric, "") {
35 return arg.uplink_bandwidth_bps == metric.uplink_bandwidth_bps && 35 return arg.uplink_bandwidth_bps == metric.uplink_bandwidth_bps &&
36 arg.target_audio_bitrate_bps == metric.target_audio_bitrate_bps && 36 arg.target_audio_bitrate_bps == metric.target_audio_bitrate_bps &&
37 arg.rtt_ms == metric.rtt_ms && 37 arg.rtt_ms == metric.rtt_ms &&
38 arg.overhead_bytes_per_packet == metric.overhead_bytes_per_packet && 38 arg.overhead_bytes_per_packet == metric.overhead_bytes_per_packet &&
39 arg.uplink_packet_loss_fraction == metric.uplink_packet_loss_fraction; 39 arg.uplink_packet_loss_fraction ==
40 metric.uplink_packet_loss_fraction &&
41 arg.uplink_recoverable_packet_loss_fraction ==
42 metric.uplink_recoverable_packet_loss_fraction;
40 } 43 }
41 44
42 MATCHER_P(EncoderRuntimeConfigIs, config, "") { 45 MATCHER_P(EncoderRuntimeConfigIs, config, "") {
43 return arg.bitrate_bps == config.bitrate_bps && 46 return arg.bitrate_bps == config.bitrate_bps &&
44 arg.frame_length_ms == config.frame_length_ms && 47 arg.frame_length_ms == config.frame_length_ms &&
45 arg.uplink_packet_loss_fraction == 48 arg.uplink_packet_loss_fraction ==
46 config.uplink_packet_loss_fraction && 49 config.uplink_packet_loss_fraction &&
47 arg.enable_fec == config.enable_fec && 50 arg.enable_fec == config.enable_fec &&
48 arg.enable_dtx == config.enable_dtx && 51 arg.enable_dtx == config.enable_dtx &&
49 arg.num_channels == config.num_channels; 52 arg.num_channels == config.num_channels;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 TEST(AudioNetworkAdaptorImplTest, 123 TEST(AudioNetworkAdaptorImplTest,
121 UpdateNetworkMetricsIsCalledOnSetUplinkPacketLossFraction) { 124 UpdateNetworkMetricsIsCalledOnSetUplinkPacketLossFraction) {
122 auto states = CreateAudioNetworkAdaptor(); 125 auto states = CreateAudioNetworkAdaptor();
123 constexpr float kPacketLoss = 0.7f; 126 constexpr float kPacketLoss = 0.7f;
124 Controller::NetworkMetrics check; 127 Controller::NetworkMetrics check;
125 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss); 128 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss);
126 SetExpectCallToUpdateNetworkMetrics(states.mock_controllers, check); 129 SetExpectCallToUpdateNetworkMetrics(states.mock_controllers, check);
127 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); 130 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss);
128 } 131 }
129 132
133 TEST(AudioNetworkAdaptorImplTest,
134 UpdateNetworkMetricsIsCalledOnSetUplinkRecoverablePacketLossFraction) {
135 auto states = CreateAudioNetworkAdaptor();
136 constexpr float kRecoverablePacketLoss = 0.1f;
137 Controller::NetworkMetrics check;
138 check.uplink_recoverable_packet_loss_fraction =
139 rtc::Optional<float>(kRecoverablePacketLoss);
140 SetExpectCallToUpdateNetworkMetrics(states.mock_controllers, check);
141 states.audio_network_adaptor->SetUplinkRecoverablePacketLossFraction(
142 kRecoverablePacketLoss);
143 }
144
130 TEST(AudioNetworkAdaptorImplTest, UpdateNetworkMetricsIsCalledOnSetRtt) { 145 TEST(AudioNetworkAdaptorImplTest, UpdateNetworkMetricsIsCalledOnSetRtt) {
131 auto states = CreateAudioNetworkAdaptor(); 146 auto states = CreateAudioNetworkAdaptor();
132 constexpr int kRtt = 100; 147 constexpr int kRtt = 100;
133 Controller::NetworkMetrics check; 148 Controller::NetworkMetrics check;
134 check.rtt_ms = rtc::Optional<int>(kRtt); 149 check.rtt_ms = rtc::Optional<int>(kRtt);
135 SetExpectCallToUpdateNetworkMetrics(states.mock_controllers, check); 150 SetExpectCallToUpdateNetworkMetrics(states.mock_controllers, check);
136 states.audio_network_adaptor->SetRtt(kRtt); 151 states.audio_network_adaptor->SetRtt(kRtt);
137 } 152 }
138 153
139 TEST(AudioNetworkAdaptorImplTest, 154 TEST(AudioNetworkAdaptorImplTest,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 kClockInitialTimeMs)); 194 kClockInitialTimeMs));
180 states.audio_network_adaptor->GetEncoderRuntimeConfig(); 195 states.audio_network_adaptor->GetEncoderRuntimeConfig();
181 } 196 }
182 197
183 TEST(AudioNetworkAdaptorImplTest, 198 TEST(AudioNetworkAdaptorImplTest,
184 DumpNetworkMetricsIsCalledOnSetNetworkMetrics) { 199 DumpNetworkMetricsIsCalledOnSetNetworkMetrics) {
185 auto states = CreateAudioNetworkAdaptor(); 200 auto states = CreateAudioNetworkAdaptor();
186 201
187 constexpr int kBandwidth = 16000; 202 constexpr int kBandwidth = 16000;
188 constexpr float kPacketLoss = 0.7f; 203 constexpr float kPacketLoss = 0.7f;
204 const auto kRecoverablePacketLoss = 0.2f;
189 constexpr int kRtt = 100; 205 constexpr int kRtt = 100;
190 constexpr int kTargetAudioBitrate = 15000; 206 constexpr int kTargetAudioBitrate = 15000;
191 constexpr size_t kOverhead = 64; 207 constexpr size_t kOverhead = 64;
192 208
193 Controller::NetworkMetrics check; 209 Controller::NetworkMetrics check;
194 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth); 210 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth);
195 int64_t timestamp_check = kClockInitialTimeMs; 211 int64_t timestamp_check = kClockInitialTimeMs;
196 212
197 EXPECT_CALL(*states.mock_debug_dump_writer, 213 EXPECT_CALL(*states.mock_debug_dump_writer,
198 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); 214 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check));
199 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth); 215 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth);
200 216
201 states.simulated_clock->AdvanceTimeMilliseconds(100); 217 states.simulated_clock->AdvanceTimeMilliseconds(100);
202 timestamp_check += 100; 218 timestamp_check += 100;
203 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss); 219 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss);
204 EXPECT_CALL(*states.mock_debug_dump_writer, 220 EXPECT_CALL(*states.mock_debug_dump_writer,
205 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); 221 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check));
206 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); 222 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss);
207 223
224 states.simulated_clock->AdvanceTimeMilliseconds(50);
225 timestamp_check += 50;
226 check.uplink_recoverable_packet_loss_fraction =
227 rtc::Optional<float>(kRecoverablePacketLoss);
228 EXPECT_CALL(*states.mock_debug_dump_writer,
229 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check));
230 states.audio_network_adaptor->SetUplinkRecoverablePacketLossFraction(
231 kRecoverablePacketLoss);
232
208 states.simulated_clock->AdvanceTimeMilliseconds(200); 233 states.simulated_clock->AdvanceTimeMilliseconds(200);
209 timestamp_check += 200; 234 timestamp_check += 200;
210 check.rtt_ms = rtc::Optional<int>(kRtt); 235 check.rtt_ms = rtc::Optional<int>(kRtt);
211 EXPECT_CALL(*states.mock_debug_dump_writer, 236 EXPECT_CALL(*states.mock_debug_dump_writer,
212 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); 237 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check));
213 states.audio_network_adaptor->SetRtt(kRtt); 238 states.audio_network_adaptor->SetRtt(kRtt);
214 239
215 states.simulated_clock->AdvanceTimeMilliseconds(150); 240 states.simulated_clock->AdvanceTimeMilliseconds(150);
216 timestamp_check += 150; 241 timestamp_check += 150;
217 check.target_audio_bitrate_bps = rtc::Optional<int>(kTargetAudioBitrate); 242 check.target_audio_bitrate_bps = rtc::Optional<int>(kTargetAudioBitrate);
(...skipping 19 matching lines...) Expand all
237 EXPECT_CALL(*states.mock_controllers[0], MakeDecision(_)) 262 EXPECT_CALL(*states.mock_controllers[0], MakeDecision(_))
238 .WillOnce(SetArgPointee<0>(config)); 263 .WillOnce(SetArgPointee<0>(config));
239 264
240 EXPECT_CALL(*states.event_log, 265 EXPECT_CALL(*states.event_log,
241 LogAudioNetworkAdaptation(EncoderRuntimeConfigIs(config))) 266 LogAudioNetworkAdaptation(EncoderRuntimeConfigIs(config)))
242 .Times(1); 267 .Times(1);
243 states.audio_network_adaptor->GetEncoderRuntimeConfig(); 268 states.audio_network_adaptor->GetEncoderRuntimeConfig();
244 } 269 }
245 270
246 } // namespace webrtc 271 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698