diff --git a/audio/voip/audio_ingress.cc b/audio/voip/audio_ingress.cc index d2ea58da91..a00934cb46 100644 --- a/audio/voip/audio_ingress.cc +++ b/audio/voip/audio_ingress.cc @@ -260,25 +260,22 @@ ChannelStatistics AudioIngress::GetChannelStatistics() { // Get RTCP report using remote SSRC. const std::vector& report_data = rtp_rtcp_->GetLatestReportBlockData(); - for (const ReportBlockData& block_data : report_data) { - const RTCPReportBlock& rtcp_report = block_data.report_block(); - if (rtp_rtcp_->SSRC() != rtcp_report.source_ssrc || - remote_ssrc_ != rtcp_report.sender_ssrc) { + for (const ReportBlockData& rtcp_report : report_data) { + if (rtp_rtcp_->SSRC() != rtcp_report.source_ssrc() || + remote_ssrc_ != rtcp_report.sender_ssrc()) { continue; } RemoteRtcpStatistics remote_stat; - remote_stat.packets_lost = rtcp_report.packets_lost; - remote_stat.fraction_lost = - static_cast(rtcp_report.fraction_lost) / (1 << 8); + remote_stat.packets_lost = rtcp_report.cumulative_lost(); + remote_stat.fraction_lost = rtcp_report.fraction_lost(); if (clockrate_hz > 0) { - remote_stat.jitter = - static_cast(rtcp_report.jitter) / clockrate_hz; + remote_stat.jitter = rtcp_report.jitter(clockrate_hz).seconds(); } - if (block_data.has_rtt()) { - remote_stat.round_trip_time = block_data.last_rtt().seconds(); + if (rtcp_report.has_rtt()) { + remote_stat.round_trip_time = rtcp_report.last_rtt().seconds(); } remote_stat.last_report_received_timestamp_ms = - block_data.report_block_timestamp_utc().ms(); + rtcp_report.report_block_timestamp_utc().ms(); channel_stats.remote_rtcp = remote_stat; // Receive only channel won't send any RTP packets.