Delete legacy RtpRtcpInterface::RTT

Bug: webrtc:13757
Change-Id: Ibc39814e4a3b01425753fbcde61006a15430a6ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304820
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40042}
This commit is contained in:
Danil Chapovalov 2023-05-10 14:58:04 +02:00 committed by WebRTC LUCI CQ
parent 49d3c202d0
commit 53817b8c18
7 changed files with 14 additions and 78 deletions

View File

@ -119,14 +119,6 @@ class MockRtpRtcpInterface : public RtpRtcpInterface {
MOCK_METHOD(RtcpMode, RTCP, (), (const, override));
MOCK_METHOD(void, SetRTCPStatus, (RtcpMode method), (override));
MOCK_METHOD(int32_t, SetCNAME, (absl::string_view cname), (override));
MOCK_METHOD(int32_t,
RTT,
(uint32_t remote_ssrc,
int64_t* rtt,
int64_t* avg_rtt,
int64_t* min_rtt,
int64_t* max_rtt),
(const, override));
MOCK_METHOD(absl::optional<TimeDelta>, LastRtt, (), (const, override));
MOCK_METHOD(int64_t, ExpectedRetransmissionTimeMs, (), (const, override));
MOCK_METHOD(int32_t, SendRTCP, (RTCPPacketType packet_type), (override));

View File

@ -464,20 +464,6 @@ int32_t ModuleRtpRtcpImpl::SetCNAME(absl::string_view c_name) {
return rtcp_sender_.SetCNAME(c_name);
}
// Get RoundTripTime.
int32_t ModuleRtpRtcpImpl::RTT(const uint32_t remote_ssrc,
int64_t* rtt,
int64_t* avg_rtt,
int64_t* min_rtt,
int64_t* max_rtt) const {
int32_t ret = rtcp_receiver_.RTT(remote_ssrc, rtt, avg_rtt, min_rtt, max_rtt);
if (rtt && *rtt == 0) {
// Try to get RTT from RtcpRttStats class.
*rtt = rtt_ms();
}
return ret;
}
absl::optional<TimeDelta> ModuleRtpRtcpImpl::LastRtt() const {
absl::optional<TimeDelta> rtt = rtcp_receiver_.LastRtt();
if (!rtt.has_value()) {

View File

@ -170,11 +170,6 @@ class ABSL_DEPRECATED("") ModuleRtpRtcpImpl
int32_t SetCNAME(absl::string_view c_name) override;
// Get RoundTripTime.
[[deprecated]] int32_t RTT(uint32_t remote_ssrc,
int64_t* rtt,
int64_t* avg_rtt,
int64_t* min_rtt,
int64_t* max_rtt) const override;
absl::optional<TimeDelta> LastRtt() const override;
int64_t ExpectedRetransmissionTimeMs() const override;

View File

@ -446,23 +446,6 @@ int32_t ModuleRtpRtcpImpl2::SetCNAME(absl::string_view c_name) {
return rtcp_sender_.SetCNAME(c_name);
}
// TODO(tommi): Check if `avg_rtt_ms`, `min_rtt_ms`, `max_rtt_ms` params are
// actually used in practice (some callers ask for it but don't use it). It
// could be that only `rtt` is needed and if so, then the fast path could be to
// just call rtt_ms() and rely on the calculation being done periodically.
int32_t ModuleRtpRtcpImpl2::RTT(const uint32_t remote_ssrc,
int64_t* rtt,
int64_t* avg_rtt,
int64_t* min_rtt,
int64_t* max_rtt) const {
int32_t ret = rtcp_receiver_.RTT(remote_ssrc, rtt, avg_rtt, min_rtt, max_rtt);
if (rtt && *rtt == 0) {
// Try to get RTT from RtcpRttStats class.
*rtt = rtt_ms();
}
return ret;
}
absl::optional<TimeDelta> ModuleRtpRtcpImpl2::LastRtt() const {
absl::optional<TimeDelta> rtt = rtcp_receiver_.LastRtt();
if (!rtt.has_value()) {

View File

@ -181,11 +181,6 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
int32_t SetCNAME(absl::string_view c_name) override;
// Get RoundTripTime.
[[deprecated]] int32_t RTT(uint32_t remote_ssrc,
int64_t* rtt,
int64_t* avg_rtt,
int64_t* min_rtt,
int64_t* max_rtt) const override;
absl::optional<TimeDelta> LastRtt() const override;
int64_t ExpectedRetransmissionTimeMs() const override;

View File

@ -14,6 +14,7 @@
#include <memory>
#include <set>
#include "api/units/time_delta.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/rtp_rtcp/source/rtcp_packet.h"
#include "modules/rtp_rtcp/source/rtcp_packet/nack.h"
@ -36,7 +37,7 @@ namespace webrtc {
namespace {
const uint32_t kSenderSsrc = 0x12345;
const uint32_t kReceiverSsrc = 0x23456;
const int64_t kOneWayNetworkDelayMs = 100;
constexpr TimeDelta kOneWayNetworkDelay = TimeDelta::Millis(100);
const uint8_t kBaseLayerTid = 0;
const uint8_t kHigherLayerTid = 1;
const uint16_t kSequenceNumber = 100;
@ -44,6 +45,10 @@ const uint8_t kPayloadType = 100;
const int kWidth = 320;
const int kHeight = 100;
MATCHER_P2(Near, value, margin, "") {
return value - margin <= arg && arg <= value + margin;
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
@ -110,7 +115,7 @@ class RtpRtcpModule : public RtcpPacketTypeCounterObserver {
receive_statistics_(ReceiveStatistics::Create(clock)),
clock_(clock) {
CreateModuleImpl();
transport_.SimulateNetworkDelay(kOneWayNetworkDelayMs, clock);
transport_.SimulateNetworkDelay(kOneWayNetworkDelay.ms(), clock);
}
const bool is_sender_;
@ -291,28 +296,16 @@ TEST_F(RtpRtcpImplTest, Rtt) {
EXPECT_EQ(0, receiver_.impl_->SendRTCP(kRtcpReport));
// Verify RTT.
int64_t rtt;
int64_t avg_rtt;
int64_t min_rtt;
int64_t max_rtt;
EXPECT_EQ(
0, sender_.impl_->RTT(kReceiverSsrc, &rtt, &avg_rtt, &min_rtt, &max_rtt));
EXPECT_NEAR(2 * kOneWayNetworkDelayMs, rtt, 1);
EXPECT_NEAR(2 * kOneWayNetworkDelayMs, avg_rtt, 1);
EXPECT_NEAR(2 * kOneWayNetworkDelayMs, min_rtt, 1);
EXPECT_NEAR(2 * kOneWayNetworkDelayMs, max_rtt, 1);
// No RTT from other ssrc.
EXPECT_EQ(-1, sender_.impl_->RTT(kReceiverSsrc + 1, &rtt, &avg_rtt, &min_rtt,
&max_rtt));
EXPECT_THAT(sender_.impl_->LastRtt(),
Near(2 * kOneWayNetworkDelay, TimeDelta::Millis(1)));
// Verify RTT from rtt_stats config.
EXPECT_EQ(0, sender_.rtt_stats_.LastProcessedRtt());
EXPECT_EQ(0, sender_.impl_->rtt_ms());
sender_.impl_->Process();
EXPECT_NEAR(2 * kOneWayNetworkDelayMs, sender_.rtt_stats_.LastProcessedRtt(),
1);
EXPECT_NEAR(2 * kOneWayNetworkDelayMs, sender_.impl_->rtt_ms(), 1);
EXPECT_NEAR(2 * kOneWayNetworkDelay.ms(),
sender_.rtt_stats_.LastProcessedRtt(), 1);
EXPECT_NEAR(2 * kOneWayNetworkDelay.ms(), sender_.impl_->rtt_ms(), 1);
}
TEST_F(RtpRtcpImplTest, RttForReceiverOnly) {
@ -329,9 +322,9 @@ TEST_F(RtpRtcpImplTest, RttForReceiverOnly) {
EXPECT_EQ(0, receiver_.rtt_stats_.LastProcessedRtt());
EXPECT_EQ(0, receiver_.impl_->rtt_ms());
receiver_.impl_->Process();
EXPECT_NEAR(2 * kOneWayNetworkDelayMs,
EXPECT_NEAR(2 * kOneWayNetworkDelay.ms(),
receiver_.rtt_stats_.LastProcessedRtt(), 1);
EXPECT_NEAR(2 * kOneWayNetworkDelayMs, receiver_.impl_->rtt_ms(), 1);
EXPECT_NEAR(2 * kOneWayNetworkDelay.ms(), receiver_.impl_->rtt_ms(), 1);
}
TEST_F(RtpRtcpImplTest, NoSrBeforeMedia) {

View File

@ -378,14 +378,6 @@ class RtpRtcpInterface : public RtcpFeedbackSenderInterface {
// Returns -1 on failure else 0.
virtual int32_t SetCNAME(absl::string_view cname) = 0;
// Returns current RTT (round-trip time) estimate.
// Returns -1 on failure else 0.
[[deprecated]] virtual int32_t RTT(uint32_t remote_ssrc,
int64_t* rtt,
int64_t* avg_rtt,
int64_t* min_rtt,
int64_t* max_rtt) const = 0;
// Returns current RTT (round-trip time) estimate.
virtual absl::optional<TimeDelta> LastRtt() const = 0;