diff --git a/webrtc/api/rtcstats_integrationtest.cc b/webrtc/api/rtcstats_integrationtest.cc index 6648eb2ccd..4c5730470e 100644 --- a/webrtc/api/rtcstats_integrationtest.cc +++ b/webrtc/api/rtcstats_integrationtest.cc @@ -469,7 +469,7 @@ class RTCStatsReportVerifier { VerifyRTCRTPStreamStats(inbound_stream, &verifier); verifier.TestMemberIsDefined(inbound_stream.packets_received); verifier.TestMemberIsDefined(inbound_stream.bytes_received); - verifier.TestMemberIsUndefined(inbound_stream.packets_lost); + verifier.TestMemberIsDefined(inbound_stream.packets_lost); if (inbound_stream.media_type.is_defined() && *inbound_stream.media_type == "video") { verifier.TestMemberIsUndefined(inbound_stream.jitter); diff --git a/webrtc/api/rtcstatscollector.cc b/webrtc/api/rtcstatscollector.cc index 9f08aa9aa0..a7c4cfc577 100644 --- a/webrtc/api/rtcstatscollector.cc +++ b/webrtc/api/rtcstatscollector.cc @@ -150,6 +150,8 @@ void SetInboundRTPStreamStatsFromMediaReceiverInfo( static_cast(media_receiver_info.packets_rcvd); inbound_stats->bytes_received = static_cast(media_receiver_info.bytes_rcvd); + inbound_stats->packets_lost = + static_cast(media_receiver_info.packets_lost); inbound_stats->fraction_lost = static_cast(media_receiver_info.fraction_lost); } diff --git a/webrtc/api/rtcstatscollector_unittest.cc b/webrtc/api/rtcstatscollector_unittest.cc index 4f63c16282..2d2059b93e 100644 --- a/webrtc/api/rtcstatscollector_unittest.cc +++ b/webrtc/api/rtcstatscollector_unittest.cc @@ -1313,6 +1313,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { voice_media_info.receivers[0].local_stats.push_back( cricket::SsrcReceiverInfo()); voice_media_info.receivers[0].local_stats[0].ssrc = 1; + voice_media_info.receivers[0].packets_lost = 42; voice_media_info.receivers[0].packets_rcvd = 2; voice_media_info.receivers[0].bytes_rcvd = 3; voice_media_info.receivers[0].codec_payload_type = rtc::Optional(42); @@ -1357,6 +1358,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { expected_audio.codec_id = "RTCCodec_InboundAudio_42"; expected_audio.packets_received = 2; expected_audio.bytes_received = 3; + expected_audio.packets_lost = 42; expected_audio.jitter = 4.5; expected_audio.fraction_lost = 5.5; @@ -1382,6 +1384,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { cricket::SsrcReceiverInfo()); video_media_info.receivers[0].local_stats[0].ssrc = 1; video_media_info.receivers[0].packets_rcvd = 2; + video_media_info.receivers[0].packets_lost = 42; video_media_info.receivers[0].bytes_rcvd = 3; video_media_info.receivers[0].fraction_lost = 4.5f; video_media_info.receivers[0].codec_payload_type = rtc::Optional(42); @@ -1430,6 +1433,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { expected_video.nack_count = 7; expected_video.packets_received = 2; expected_video.bytes_received = 3; + expected_video.packets_lost = 42; expected_video.fraction_lost = 4.5; ASSERT(report->Get(expected_video.id())); diff --git a/webrtc/api/stats/rtcstats_objects.h b/webrtc/api/stats/rtcstats_objects.h index e1b695bc23..21b8d68e14 100644 --- a/webrtc/api/stats/rtcstats_objects.h +++ b/webrtc/api/stats/rtcstats_objects.h @@ -328,7 +328,6 @@ class RTCInboundRTPStreamStats final : public RTCRTPStreamStats { RTCStatsMember packets_received; RTCStatsMember bytes_received; - // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/657855 RTCStatsMember packets_lost; // TODO(hbos): Not collected in the "video" case by |RTCStatsCollector|. // crbug.com/657855