diff --git a/modules/rtp_rtcp/include/rtp_rtcp_defines.h b/modules/rtp_rtcp/include/rtp_rtcp_defines.h index 652ea25224..3b165218b9 100644 --- a/modules/rtp_rtcp/include/rtp_rtcp_defines.h +++ b/modules/rtp_rtcp/include/rtp_rtcp_defines.h @@ -363,11 +363,7 @@ struct StreamDataCounters { fec.payload_bytes; } - int64_t first_packet_time_ms; // Time when first packet is sent/received. - // The timestamp at which the last packet was received, i.e. the time of the - // local clock when it was received - not the RTP timestamp of that packet. - // https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-lastpacketreceivedtimestamp - absl::optional last_packet_received_timestamp_ms; + int64_t first_packet_time_ms; // Time when first packet is sent/received. RtpPacketCounter transmitted; // Number of transmitted packets/bytes. RtpPacketCounter retransmitted; // Number of retransmitted packets/bytes. RtpPacketCounter fec; // Number of redundancy packets/bytes. diff --git a/modules/rtp_rtcp/source/receive_statistics_impl.cc b/modules/rtp_rtcp/source/receive_statistics_impl.cc index 7c6c2cf443..e5a574683c 100644 --- a/modules/rtp_rtcp/source/receive_statistics_impl.cc +++ b/modules/rtp_rtcp/source/receive_statistics_impl.cc @@ -113,7 +113,6 @@ void StreamStatisticianImpl::UpdateCounters(const RtpPacketReceived& packet) { int64_t now_ms = clock_->TimeInMilliseconds(); incoming_bitrate_.Update(packet.size(), now_ms); - receive_counters_.last_packet_received_timestamp_ms = now_ms; receive_counters_.transmitted.AddPacket(packet); --cumulative_loss_; @@ -221,10 +220,9 @@ RtpReceiveStats StreamStatisticianImpl::GetStats() const { stats.interarrival_jitter = webrtc::TimeDelta::Seconds(stats.jitter) / last_payload_type_frequency_; } - if (receive_counters_.last_packet_received_timestamp_ms.has_value()) { + if (last_receive_time_ms_ > 0) { stats.last_packet_received_timestamp_ms = - *receive_counters_.last_packet_received_timestamp_ms + - delta_internal_unix_epoch_ms_; + last_receive_time_ms_ + delta_internal_unix_epoch_ms_; } stats.packet_counter = receive_counters_.transmitted; return stats; diff --git a/modules/rtp_rtcp/source/receive_statistics_unittest.cc b/modules/rtp_rtcp/source/receive_statistics_unittest.cc index b6593a4c3b..69164c208c 100644 --- a/modules/rtp_rtcp/source/receive_statistics_unittest.cc +++ b/modules/rtp_rtcp/source/receive_statistics_unittest.cc @@ -590,16 +590,17 @@ TEST_P(ReceiveStatisticsTest, StreamDataCounters) { TEST_P(ReceiveStatisticsTest, LastPacketReceivedTimestamp) { clock_.AdvanceTimeMilliseconds(42); + packet1_.SetSequenceNumber(100); receive_statistics_->OnRtpPacket(packet1_); - StreamDataCounters counters = receive_statistics_->GetStatistician(kSsrc1) - ->GetReceiveStreamDataCounters(); + RtpReceiveStats counters = + receive_statistics_->GetStatistician(kSsrc1)->GetStats(); EXPECT_EQ(42, counters.last_packet_received_timestamp_ms); clock_.AdvanceTimeMilliseconds(3); + packet1_.SetSequenceNumber(101); receive_statistics_->OnRtpPacket(packet1_); - counters = receive_statistics_->GetStatistician(kSsrc1) - ->GetReceiveStreamDataCounters(); + counters = receive_statistics_->GetStatistician(kSsrc1)->GetStats(); EXPECT_EQ(45, counters.last_packet_received_timestamp_ms); }