diff --git a/audio/channel_receive.cc b/audio/channel_receive.cc
index 3847add..5f54c01 100644
--- a/audio/channel_receive.cc
+++ b/audio/channel_receive.cc
@@ -194,7 +194,6 @@
       RTC_RUN_ON(worker_thread_checker_);
 
   int GetRtpTimestampRateHz() const;
-  int64_t GetRTT() const;
 
   void OnReceivedPayloadData(rtc::ArrayView<const uint8_t> payload,
                              const RTPHeader& rtpHeader)
@@ -339,7 +338,8 @@
   }
 
   int64_t round_trip_time = 0;
-  rtp_rtcp_->RTT(remote_ssrc_, &round_trip_time, NULL, NULL, NULL);
+  rtp_rtcp_->RTT(remote_ssrc_, &round_trip_time, /*avg_rtt=*/nullptr,
+                 /*min_rtt=*/nullptr, /*max_rtt=*/nullptr);
 
   std::vector<uint16_t> nack_list = acm_receiver_.GetNackList(round_trip_time);
   if (!nack_list.empty()) {
@@ -725,7 +725,9 @@
   // Deliver RTCP packet to RTP/RTCP module for parsing
   rtp_rtcp_->IncomingRtcpPacket(data, length);
 
-  int64_t rtt = GetRTT();
+  int64_t rtt = 0;
+  rtp_rtcp_->RTT(remote_ssrc_, &rtt, /*avg_rtt=*/nullptr, /*min_rtt=*/nullptr,
+                 /*max_rtt=*/nullptr);
   if (rtt == 0) {
     // Waiting for valid RTT.
     return;
@@ -1081,27 +1083,6 @@
              : acm_receiver_.last_output_sample_rate_hz();
 }
 
-int64_t ChannelReceive::GetRTT() const {
-  RTC_DCHECK_RUN_ON(&network_thread_checker_);
-  std::vector<ReportBlockData> report_blocks =
-      rtp_rtcp_->GetLatestReportBlockData();
-
-  if (report_blocks.empty()) {
-    // Try fall back on an RTT from an associated channel.
-    if (!associated_send_channel_) {
-      return 0;
-    }
-    return associated_send_channel_->GetRTT();
-  }
-
-  for (const ReportBlockData& data : report_blocks) {
-    if (data.report_block().sender_ssrc == remote_ssrc_) {
-      return data.last_rtt_ms();
-    }
-  }
-  return 0;
-}
-
 }  // namespace
 
 std::unique_ptr<ChannelReceiveInterface> CreateChannelReceive(
