Fix stats inheritance and rename RTP to Rtp

making RTCOutboundRtpStreamStats inherit from RTCSentRtpStreamStats
as defined in
  https://www.w3.org/TR/webrtc-stats/#outboundrtpstats-dict*

This removes the duplicated definitions of packetsSent and bytesSent.

BUG=webrtc:14948

Change-Id: I184998b65d59dbd0d1288733d55d8a884e6de970
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295660
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39481}
This commit is contained in:
Philipp Hancke 2023-03-01 08:28:53 +01:00 committed by WebRTC LUCI CQ
parent 1e2d951762
commit 1f80451932
3 changed files with 31 additions and 36 deletions

View file

@ -354,12 +354,12 @@ class RTC_EXPORT RTCPeerConnectionStats final : public RTCStats {
};
// https://w3c.github.io/webrtc-stats/#streamstats-dict*
class RTC_EXPORT RTCRTPStreamStats : public RTCStats {
class RTC_EXPORT RTCRtpStreamStats : public RTCStats {
public:
WEBRTC_RTCSTATS_DECL();
RTCRTPStreamStats(const RTCRTPStreamStats& other);
~RTCRTPStreamStats() override;
RTCRtpStreamStats(const RTCRtpStreamStats& other);
~RTCRtpStreamStats() override;
RTCStatsMember<uint32_t> ssrc;
RTCStatsMember<std::string> kind;
@ -372,11 +372,11 @@ class RTC_EXPORT RTCRTPStreamStats : public RTCStats {
RTCStatsMember<std::string> media_type; // renamed to kind.
protected:
RTCRTPStreamStats(std::string id, Timestamp timestamp);
RTCRtpStreamStats(std::string id, Timestamp timestamp);
};
// https://www.w3.org/TR/webrtc-stats/#receivedrtpstats-dict*
class RTC_EXPORT RTCReceivedRtpStreamStats : public RTCRTPStreamStats {
class RTC_EXPORT RTCReceivedRtpStreamStats : public RTCRtpStreamStats {
public:
WEBRTC_RTCSTATS_DECL();
@ -391,7 +391,7 @@ class RTC_EXPORT RTCReceivedRtpStreamStats : public RTCRTPStreamStats {
};
// https://www.w3.org/TR/webrtc-stats/#sentrtpstats-dict*
class RTC_EXPORT RTCSentRtpStreamStats : public RTCRTPStreamStats {
class RTC_EXPORT RTCSentRtpStreamStats : public RTCRtpStreamStats {
public:
WEBRTC_RTCSTATS_DECL();
@ -495,7 +495,8 @@ class RTC_EXPORT RTCInboundRTPStreamStats final
};
// https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*
class RTC_EXPORT RTCOutboundRTPStreamStats final : public RTCRTPStreamStats {
class RTC_EXPORT RTCOutboundRTPStreamStats final
: public RTCSentRtpStreamStats {
public:
WEBRTC_RTCSTATS_DECL();
@ -507,9 +508,7 @@ class RTC_EXPORT RTCOutboundRTPStreamStats final : public RTCRTPStreamStats {
RTCStatsMember<std::string> remote_id;
RTCStatsMember<std::string> mid;
RTCStatsMember<std::string> rid;
RTCStatsMember<uint32_t> packets_sent;
RTCStatsMember<uint64_t> retransmitted_packets_sent;
RTCStatsMember<uint64_t> bytes_sent;
RTCStatsMember<uint64_t> header_bytes_sent;
RTCStatsMember<uint64_t> retransmitted_bytes_sent;
RTCStatsMember<double> target_bitrate;

View file

@ -390,16 +390,16 @@ class RTCStatsReportVerifier {
verify_successful &= VerifyRTCPeerConnectionStats(
stats.cast_to<RTCPeerConnectionStats>());
} else if (stats.type() == RTCInboundRTPStreamStats::kType) {
verify_successful &= VerifyRTCInboundRTPStreamStats(
verify_successful &= VerifyRTCInboundRtpStreamStats(
stats.cast_to<RTCInboundRTPStreamStats>());
} else if (stats.type() == RTCOutboundRTPStreamStats::kType) {
verify_successful &= VerifyRTCOutboundRTPStreamStats(
verify_successful &= VerifyRTCOutboundRtpStreamStats(
stats.cast_to<RTCOutboundRTPStreamStats>());
} else if (stats.type() == RTCRemoteInboundRtpStreamStats::kType) {
verify_successful &= VerifyRTCRemoteInboundRtpStreamStats(
stats.cast_to<RTCRemoteInboundRtpStreamStats>());
} else if (stats.type() == RTCRemoteOutboundRtpStreamStats::kType) {
verify_successful &= VerifyRTCRemoteOutboundRTPStreamStats(
verify_successful &= VerifyRTCRemoteOutboundRtpStreamStats(
stats.cast_to<RTCRemoteOutboundRtpStreamStats>());
} else if (stats.type() == RTCAudioSourceStats::kType) {
// RTCAudioSourceStats::kType and RTCVideoSourceStats::kType both have
@ -715,7 +715,7 @@ class RTCStatsReportVerifier {
return verifier.ExpectAllMembersSuccessfullyTested();
}
void VerifyRTCRTPStreamStats(const RTCRTPStreamStats& stream,
void VerifyRTCRtpStreamStats(const RTCRtpStreamStats& stream,
RTCStatsVerifier& verifier) {
verifier.TestMemberIsDefined(stream.ssrc);
verifier.TestMemberIsDefined(stream.kind);
@ -735,14 +735,14 @@ class RTCStatsReportVerifier {
verifier.TestMemberIsIDReference(stream.codec_id, RTCCodecStats::kType);
}
void VerifyRTCSentRTPStreamStats(const RTCSentRtpStreamStats& sent_stream,
void VerifyRTCSentRtpStreamStats(const RTCSentRtpStreamStats& sent_stream,
RTCStatsVerifier& verifier) {
VerifyRTCRTPStreamStats(sent_stream, verifier);
VerifyRTCRtpStreamStats(sent_stream, verifier);
verifier.TestMemberIsDefined(sent_stream.packets_sent);
verifier.TestMemberIsDefined(sent_stream.bytes_sent);
}
bool VerifyRTCInboundRTPStreamStats(
bool VerifyRTCInboundRtpStreamStats(
const RTCInboundRTPStreamStats& inbound_stream) {
RTCStatsVerifier verifier(report_.get(), &inbound_stream);
VerifyRTCReceivedRtpStreamStats(inbound_stream, verifier);
@ -920,10 +920,10 @@ class RTCStatsReportVerifier {
return verifier.ExpectAllMembersSuccessfullyTested();
}
bool VerifyRTCOutboundRTPStreamStats(
bool VerifyRTCOutboundRtpStreamStats(
const RTCOutboundRTPStreamStats& outbound_stream) {
RTCStatsVerifier verifier(report_.get(), &outbound_stream);
VerifyRTCRTPStreamStats(outbound_stream, verifier);
VerifyRTCRtpStreamStats(outbound_stream, verifier);
verifier.TestMemberIsDefined(outbound_stream.mid);
verifier.TestMemberIsDefined(outbound_stream.active);
if (outbound_stream.kind.is_defined() && *outbound_stream.kind == "video") {
@ -1023,7 +1023,7 @@ class RTCStatsReportVerifier {
void VerifyRTCReceivedRtpStreamStats(
const RTCReceivedRtpStreamStats& received_rtp,
RTCStatsVerifier& verifier) {
VerifyRTCRTPStreamStats(received_rtp, verifier);
VerifyRTCRtpStreamStats(received_rtp, verifier);
verifier.TestMemberIsNonNegative<double>(received_rtp.jitter);
verifier.TestMemberIsDefined(received_rtp.packets_lost);
}
@ -1044,11 +1044,11 @@ class RTCStatsReportVerifier {
return verifier.ExpectAllMembersSuccessfullyTested();
}
bool VerifyRTCRemoteOutboundRTPStreamStats(
bool VerifyRTCRemoteOutboundRtpStreamStats(
const RTCRemoteOutboundRtpStreamStats& remote_outbound_stream) {
RTCStatsVerifier verifier(report_.get(), &remote_outbound_stream);
VerifyRTCRTPStreamStats(remote_outbound_stream, verifier);
VerifyRTCSentRTPStreamStats(remote_outbound_stream, verifier);
VerifyRTCRtpStreamStats(remote_outbound_stream, verifier);
VerifyRTCSentRtpStreamStats(remote_outbound_stream, verifier);
verifier.TestMemberIsIDReference(remote_outbound_stream.local_id,
RTCOutboundRTPStreamStats::kType);
verifier.TestMemberIsNonNegative<double>(

View file

@ -396,7 +396,7 @@ RTCPeerConnectionStats::RTCPeerConnectionStats(
RTCPeerConnectionStats::~RTCPeerConnectionStats() {}
// clang-format off
WEBRTC_RTCSTATS_IMPL(RTCRTPStreamStats, RTCStats, "rtp",
WEBRTC_RTCSTATS_IMPL(RTCRtpStreamStats, RTCStats, "rtp",
&ssrc,
&kind,
&track_id,
@ -405,7 +405,7 @@ WEBRTC_RTCSTATS_IMPL(RTCRTPStreamStats, RTCStats, "rtp",
&media_type)
// clang-format on
RTCRTPStreamStats::RTCRTPStreamStats(std::string id, Timestamp timestamp)
RTCRtpStreamStats::RTCRtpStreamStats(std::string id, Timestamp timestamp)
: RTCStats(std::move(id), timestamp),
ssrc("ssrc"),
kind("kind"),
@ -414,20 +414,20 @@ RTCRTPStreamStats::RTCRTPStreamStats(std::string id, Timestamp timestamp)
codec_id("codecId"),
media_type("mediaType") {}
RTCRTPStreamStats::RTCRTPStreamStats(const RTCRTPStreamStats& other) = default;
RTCRtpStreamStats::RTCRtpStreamStats(const RTCRtpStreamStats& other) = default;
RTCRTPStreamStats::~RTCRTPStreamStats() {}
RTCRtpStreamStats::~RTCRtpStreamStats() {}
// clang-format off
WEBRTC_RTCSTATS_IMPL(
RTCReceivedRtpStreamStats, RTCRTPStreamStats, "received-rtp",
RTCReceivedRtpStreamStats, RTCRtpStreamStats, "received-rtp",
&jitter,
&packets_lost)
// clang-format on
RTCReceivedRtpStreamStats::RTCReceivedRtpStreamStats(std::string id,
Timestamp timestamp)
: RTCRTPStreamStats(std::move(id), timestamp),
: RTCRtpStreamStats(std::move(id), timestamp),
jitter("jitter"),
packets_lost("packetsLost") {}
@ -438,14 +438,14 @@ RTCReceivedRtpStreamStats::~RTCReceivedRtpStreamStats() {}
// clang-format off
WEBRTC_RTCSTATS_IMPL(
RTCSentRtpStreamStats, RTCRTPStreamStats, "sent-rtp",
RTCSentRtpStreamStats, RTCRtpStreamStats, "sent-rtp",
&packets_sent,
&bytes_sent)
// clang-format on
RTCSentRtpStreamStats::RTCSentRtpStreamStats(std::string id,
Timestamp timestamp)
: RTCRTPStreamStats(std::move(id), timestamp),
: RTCRtpStreamStats(std::move(id), timestamp),
packets_sent("packetsSent"),
bytes_sent("bytesSent") {}
@ -589,14 +589,12 @@ RTCInboundRTPStreamStats::~RTCInboundRTPStreamStats() {}
// clang-format off
WEBRTC_RTCSTATS_IMPL(
RTCOutboundRTPStreamStats, RTCRTPStreamStats, "outbound-rtp",
RTCOutboundRTPStreamStats, RTCSentRtpStreamStats, "outbound-rtp",
&media_source_id,
&remote_id,
&mid,
&rid,
&packets_sent,
&retransmitted_packets_sent,
&bytes_sent,
&header_bytes_sent,
&retransmitted_bytes_sent,
&target_bitrate,
@ -626,14 +624,12 @@ WEBRTC_RTCSTATS_IMPL(
RTCOutboundRTPStreamStats::RTCOutboundRTPStreamStats(std::string id,
Timestamp timestamp)
: RTCRTPStreamStats(std::move(id), timestamp),
: RTCSentRtpStreamStats(std::move(id), timestamp),
media_source_id("mediaSourceId"),
remote_id("remoteId"),
mid("mid"),
rid("rid"),
packets_sent("packetsSent"),
retransmitted_packets_sent("retransmittedPacketsSent"),
bytes_sent("bytesSent"),
header_bytes_sent("headerBytesSent"),
retransmitted_bytes_sent("retransmittedBytesSent"),
target_bitrate("targetBitrate"),