in RtcpTransceiver delete legacy rtt_observer callback
Bug: webrtc:8239 Change-Id: Id4f56887879513b5ddb89818f221d8686c373ed7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/235370 Reviewed-by: Emil Lundmark <lndmrk@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35257}
This commit is contained in:

committed by
WebRTC LUCI CQ

parent
2110f7d664
commit
5e67b6a90d
@ -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.";
|
||||
|
@ -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;
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user