Index: webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc |
diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc b/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc |
index 98a641183c38d06aef58666a49aa93f61c02ad05..4d06537900dcc6b512ffdebc8ac3a1def5ef6745 100644 |
--- a/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc |
+++ b/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc |
@@ -36,7 +36,10 @@ MATCHER_P(NetworkMetricsIs, metric, "") { |
arg.target_audio_bitrate_bps == metric.target_audio_bitrate_bps && |
arg.rtt_ms == metric.rtt_ms && |
arg.overhead_bytes_per_packet == metric.overhead_bytes_per_packet && |
- arg.uplink_packet_loss_fraction == metric.uplink_packet_loss_fraction; |
+ arg.uplink_packet_loss_fraction == |
+ metric.uplink_packet_loss_fraction && |
+ arg.uplink_recoverable_packet_loss_fraction == |
+ metric.uplink_recoverable_packet_loss_fraction; |
} |
MATCHER_P(EncoderRuntimeConfigIs, config, "") { |
@@ -127,6 +130,17 @@ TEST(AudioNetworkAdaptorImplTest, |
states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); |
} |
+TEST(AudioNetworkAdaptorImplTest, |
+ UpdateNetworkMetricsIsCalledOnSetUplinkRecoverablePacketLossFraction) { |
+ auto states = CreateAudioNetworkAdaptor(); |
+ const auto kRecoverablePacketLoss = rtc::Optional<float>(0.1f); |
+ Controller::NetworkMetrics check; |
+ check.uplink_recoverable_packet_loss_fraction = kRecoverablePacketLoss; |
+ SetExpectCallToUpdateNetworkMetrics(states.mock_controllers, check); |
+ states.audio_network_adaptor->SetUplinkRecoverablePacketLossFraction( |
+ kRecoverablePacketLoss); |
+} |
+ |
TEST(AudioNetworkAdaptorImplTest, UpdateNetworkMetricsIsCalledOnSetRtt) { |
auto states = CreateAudioNetworkAdaptor(); |
constexpr int kRtt = 100; |
@@ -186,6 +200,7 @@ TEST(AudioNetworkAdaptorImplTest, |
constexpr int kBandwidth = 16000; |
const auto kPacketLoss = rtc::Optional<float>(0.7f); |
+ const auto kRecoverablePacketLoss = rtc::Optional<float>(0.2f); |
constexpr int kRtt = 100; |
constexpr int kTargetAudioBitrate = 15000; |
constexpr size_t kOverhead = 64; |
@@ -205,6 +220,14 @@ TEST(AudioNetworkAdaptorImplTest, |
DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); |
states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); |
+ states.simulated_clock->AdvanceTimeMilliseconds(50); |
+ timestamp_check += 50; |
+ check.uplink_recoverable_packet_loss_fraction = kRecoverablePacketLoss; |
+ EXPECT_CALL(*states.mock_debug_dump_writer, |
+ DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); |
+ states.audio_network_adaptor->SetUplinkRecoverablePacketLossFraction( |
+ kRecoverablePacketLoss); |
+ |
states.simulated_clock->AdvanceTimeMilliseconds(200); |
timestamp_check += 200; |
check.rtt_ms = rtc::Optional<int>(kRtt); |