diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_config.cc b/modules/rtp_rtcp/source/rtcp_transceiver_config.cc index 214d8fd409..02c0fef9f9 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_config.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_config.cc @@ -67,7 +67,7 @@ bool RtcpTransceiverConfig::Validate() const { RTC_LOG(LS_ERROR) << debug_id << "unsupported rtcp mode"; return false; } - if (non_sender_rtt_measurement && !rtt_observer) + if (non_sender_rtt_measurement && !network_link_observer) RTC_LOG(LS_WARNING) << debug_id << "Enabled special feature to calculate rtt, but no " "rtt observer is provided."; diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_config.h b/modules/rtp_rtcp/source/rtcp_transceiver_config.h index f24a23d75a..73b933d0a8 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_config.h +++ b/modules/rtp_rtcp/source/rtcp_transceiver_config.h @@ -99,12 +99,6 @@ struct RtcpTransceiverConfig { // Rtcp report block generator for outgoing receiver reports. ReceiveStatisticsProvider* receive_statistics = nullptr; - // Callback to pass result of rtt calculation. Should outlive RtcpTransceiver. - // Callbacks will be invoked on the `task_queue`. - // Deprecated, rtt_observer will be deleted in favor of more generic - // `network_link_observer` - RtcpRttStats* rtt_observer = nullptr; - // Should outlive RtcpTransceiver. // Callbacks will be invoked on the `task_queue`. NetworkLinkRtcpObserver* network_link_observer = nullptr; diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc b/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc index c56515e27e..c7e11981ed 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc @@ -345,7 +345,8 @@ void RtcpTransceiverImpl::HandleExtendedReports( } void RtcpTransceiverImpl::HandleDlrr(const rtcp::Dlrr& dlrr, Timestamp now) { - if (!config_.non_sender_rtt_measurement) { + if (!config_.non_sender_rtt_measurement || + config_.network_link_observer == nullptr) { return; } @@ -358,13 +359,7 @@ void RtcpTransceiverImpl::HandleDlrr(const rtcp::Dlrr& dlrr, Timestamp now) { continue; uint32_t rtt_ntp = receive_time_ntp - rti.delay_since_last_rr - rti.last_rr; int64_t rtt_ms = CompactNtpRttToMs(rtt_ntp); - if (config_.rtt_observer != nullptr) { - config_.rtt_observer->OnRttUpdate(rtt_ms); - } - if (config_.network_link_observer != nullptr) { - config_.network_link_observer->OnRttUpdate(now, - TimeDelta::Millis(rtt_ms)); - } + config_.network_link_observer->OnRttUpdate(now, TimeDelta::Millis(rtt_ms)); } } diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc b/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc index a76f36dd2f..cad361cce0 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc @@ -1152,33 +1152,6 @@ TEST(RtcpTransceiverImplTest, SendsNoXrRrtrWhenDisabled) { EXPECT_FALSE(rtcp_parser.xr()->rrtr()); } -TEST(RtcpTransceiverImplTest, CalculatesRoundTripTimeOnDlrr) { - const uint32_t kSenderSsrc = 4321; - SimulatedClock clock(0); - MockRtcpRttStats rtt_observer; - MockTransport null_transport; - RtcpTransceiverConfig config; - config.clock = &clock; - config.feedback_ssrc = kSenderSsrc; - config.schedule_periodic_compound_packets = false; - config.outgoing_transport = &null_transport; - config.non_sender_rtt_measurement = true; - config.rtt_observer = &rtt_observer; - RtcpTransceiverImpl rtcp_transceiver(config); - - Timestamp time = Timestamp::Micros(12345678); - webrtc::rtcp::ReceiveTimeInfo rti; - rti.ssrc = kSenderSsrc; - rti.last_rr = CompactNtp(clock.ConvertTimestampToNtpTime(time)); - rti.delay_since_last_rr = SaturatedUsToCompactNtp(10 * 1000); - webrtc::rtcp::ExtendedReports xr; - xr.AddDlrrItem(rti); - auto raw_packet = xr.Build(); - - EXPECT_CALL(rtt_observer, OnRttUpdate(100 /* rtt_ms */)); - rtcp_transceiver.ReceivePacket(raw_packet, time + TimeDelta::Millis(110)); -} - TEST(RtcpTransceiverImplTest, PassRttFromDlrrToLinkObserver) { const uint32_t kSenderSsrc = 4321; MockNetworkLinkRtcpObserver link_observer; @@ -1230,7 +1203,7 @@ TEST(RtcpTransceiverImplTest, IgnoresUnknownSsrcInDlrr) { const uint32_t kSenderSsrc = 4321; const uint32_t kUnknownSsrc = 4322; SimulatedClock clock(0); - MockRtcpRttStats rtt_observer; + MockNetworkLinkRtcpObserver link_observer; MockTransport null_transport; RtcpTransceiverConfig config; config.clock = &clock; @@ -1238,7 +1211,7 @@ TEST(RtcpTransceiverImplTest, IgnoresUnknownSsrcInDlrr) { config.schedule_periodic_compound_packets = false; config.outgoing_transport = &null_transport; config.non_sender_rtt_measurement = true; - config.rtt_observer = &rtt_observer; + config.network_link_observer = &link_observer; RtcpTransceiverImpl rtcp_transceiver(config); Timestamp time = Timestamp::Micros(12345678); @@ -1249,7 +1222,7 @@ TEST(RtcpTransceiverImplTest, IgnoresUnknownSsrcInDlrr) { xr.AddDlrrItem(rti); auto raw_packet = xr.Build(); - EXPECT_CALL(rtt_observer, OnRttUpdate(_)).Times(0); + EXPECT_CALL(link_observer, OnRttUpdate).Times(0); rtcp_transceiver.ReceivePacket(raw_packet, time + TimeDelta::Millis(100)); }