mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 13:50:40 +01:00
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:
parent
1e2d951762
commit
1f80451932
3 changed files with 31 additions and 36 deletions
|
@ -354,12 +354,12 @@ class RTC_EXPORT RTCPeerConnectionStats final : public RTCStats {
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://w3c.github.io/webrtc-stats/#streamstats-dict*
|
// https://w3c.github.io/webrtc-stats/#streamstats-dict*
|
||||||
class RTC_EXPORT RTCRTPStreamStats : public RTCStats {
|
class RTC_EXPORT RTCRtpStreamStats : public RTCStats {
|
||||||
public:
|
public:
|
||||||
WEBRTC_RTCSTATS_DECL();
|
WEBRTC_RTCSTATS_DECL();
|
||||||
|
|
||||||
RTCRTPStreamStats(const RTCRTPStreamStats& other);
|
RTCRtpStreamStats(const RTCRtpStreamStats& other);
|
||||||
~RTCRTPStreamStats() override;
|
~RTCRtpStreamStats() override;
|
||||||
|
|
||||||
RTCStatsMember<uint32_t> ssrc;
|
RTCStatsMember<uint32_t> ssrc;
|
||||||
RTCStatsMember<std::string> kind;
|
RTCStatsMember<std::string> kind;
|
||||||
|
@ -372,11 +372,11 @@ class RTC_EXPORT RTCRTPStreamStats : public RTCStats {
|
||||||
RTCStatsMember<std::string> media_type; // renamed to kind.
|
RTCStatsMember<std::string> media_type; // renamed to kind.
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
RTCRTPStreamStats(std::string id, Timestamp timestamp);
|
RTCRtpStreamStats(std::string id, Timestamp timestamp);
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://www.w3.org/TR/webrtc-stats/#receivedrtpstats-dict*
|
// https://www.w3.org/TR/webrtc-stats/#receivedrtpstats-dict*
|
||||||
class RTC_EXPORT RTCReceivedRtpStreamStats : public RTCRTPStreamStats {
|
class RTC_EXPORT RTCReceivedRtpStreamStats : public RTCRtpStreamStats {
|
||||||
public:
|
public:
|
||||||
WEBRTC_RTCSTATS_DECL();
|
WEBRTC_RTCSTATS_DECL();
|
||||||
|
|
||||||
|
@ -391,7 +391,7 @@ class RTC_EXPORT RTCReceivedRtpStreamStats : public RTCRTPStreamStats {
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://www.w3.org/TR/webrtc-stats/#sentrtpstats-dict*
|
// https://www.w3.org/TR/webrtc-stats/#sentrtpstats-dict*
|
||||||
class RTC_EXPORT RTCSentRtpStreamStats : public RTCRTPStreamStats {
|
class RTC_EXPORT RTCSentRtpStreamStats : public RTCRtpStreamStats {
|
||||||
public:
|
public:
|
||||||
WEBRTC_RTCSTATS_DECL();
|
WEBRTC_RTCSTATS_DECL();
|
||||||
|
|
||||||
|
@ -495,7 +495,8 @@ class RTC_EXPORT RTCInboundRTPStreamStats final
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*
|
// https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*
|
||||||
class RTC_EXPORT RTCOutboundRTPStreamStats final : public RTCRTPStreamStats {
|
class RTC_EXPORT RTCOutboundRTPStreamStats final
|
||||||
|
: public RTCSentRtpStreamStats {
|
||||||
public:
|
public:
|
||||||
WEBRTC_RTCSTATS_DECL();
|
WEBRTC_RTCSTATS_DECL();
|
||||||
|
|
||||||
|
@ -507,9 +508,7 @@ class RTC_EXPORT RTCOutboundRTPStreamStats final : public RTCRTPStreamStats {
|
||||||
RTCStatsMember<std::string> remote_id;
|
RTCStatsMember<std::string> remote_id;
|
||||||
RTCStatsMember<std::string> mid;
|
RTCStatsMember<std::string> mid;
|
||||||
RTCStatsMember<std::string> rid;
|
RTCStatsMember<std::string> rid;
|
||||||
RTCStatsMember<uint32_t> packets_sent;
|
|
||||||
RTCStatsMember<uint64_t> retransmitted_packets_sent;
|
RTCStatsMember<uint64_t> retransmitted_packets_sent;
|
||||||
RTCStatsMember<uint64_t> bytes_sent;
|
|
||||||
RTCStatsMember<uint64_t> header_bytes_sent;
|
RTCStatsMember<uint64_t> header_bytes_sent;
|
||||||
RTCStatsMember<uint64_t> retransmitted_bytes_sent;
|
RTCStatsMember<uint64_t> retransmitted_bytes_sent;
|
||||||
RTCStatsMember<double> target_bitrate;
|
RTCStatsMember<double> target_bitrate;
|
||||||
|
|
|
@ -390,16 +390,16 @@ class RTCStatsReportVerifier {
|
||||||
verify_successful &= VerifyRTCPeerConnectionStats(
|
verify_successful &= VerifyRTCPeerConnectionStats(
|
||||||
stats.cast_to<RTCPeerConnectionStats>());
|
stats.cast_to<RTCPeerConnectionStats>());
|
||||||
} else if (stats.type() == RTCInboundRTPStreamStats::kType) {
|
} else if (stats.type() == RTCInboundRTPStreamStats::kType) {
|
||||||
verify_successful &= VerifyRTCInboundRTPStreamStats(
|
verify_successful &= VerifyRTCInboundRtpStreamStats(
|
||||||
stats.cast_to<RTCInboundRTPStreamStats>());
|
stats.cast_to<RTCInboundRTPStreamStats>());
|
||||||
} else if (stats.type() == RTCOutboundRTPStreamStats::kType) {
|
} else if (stats.type() == RTCOutboundRTPStreamStats::kType) {
|
||||||
verify_successful &= VerifyRTCOutboundRTPStreamStats(
|
verify_successful &= VerifyRTCOutboundRtpStreamStats(
|
||||||
stats.cast_to<RTCOutboundRTPStreamStats>());
|
stats.cast_to<RTCOutboundRTPStreamStats>());
|
||||||
} else if (stats.type() == RTCRemoteInboundRtpStreamStats::kType) {
|
} else if (stats.type() == RTCRemoteInboundRtpStreamStats::kType) {
|
||||||
verify_successful &= VerifyRTCRemoteInboundRtpStreamStats(
|
verify_successful &= VerifyRTCRemoteInboundRtpStreamStats(
|
||||||
stats.cast_to<RTCRemoteInboundRtpStreamStats>());
|
stats.cast_to<RTCRemoteInboundRtpStreamStats>());
|
||||||
} else if (stats.type() == RTCRemoteOutboundRtpStreamStats::kType) {
|
} else if (stats.type() == RTCRemoteOutboundRtpStreamStats::kType) {
|
||||||
verify_successful &= VerifyRTCRemoteOutboundRTPStreamStats(
|
verify_successful &= VerifyRTCRemoteOutboundRtpStreamStats(
|
||||||
stats.cast_to<RTCRemoteOutboundRtpStreamStats>());
|
stats.cast_to<RTCRemoteOutboundRtpStreamStats>());
|
||||||
} else if (stats.type() == RTCAudioSourceStats::kType) {
|
} else if (stats.type() == RTCAudioSourceStats::kType) {
|
||||||
// RTCAudioSourceStats::kType and RTCVideoSourceStats::kType both have
|
// RTCAudioSourceStats::kType and RTCVideoSourceStats::kType both have
|
||||||
|
@ -715,7 +715,7 @@ class RTCStatsReportVerifier {
|
||||||
return verifier.ExpectAllMembersSuccessfullyTested();
|
return verifier.ExpectAllMembersSuccessfullyTested();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VerifyRTCRTPStreamStats(const RTCRTPStreamStats& stream,
|
void VerifyRTCRtpStreamStats(const RTCRtpStreamStats& stream,
|
||||||
RTCStatsVerifier& verifier) {
|
RTCStatsVerifier& verifier) {
|
||||||
verifier.TestMemberIsDefined(stream.ssrc);
|
verifier.TestMemberIsDefined(stream.ssrc);
|
||||||
verifier.TestMemberIsDefined(stream.kind);
|
verifier.TestMemberIsDefined(stream.kind);
|
||||||
|
@ -735,14 +735,14 @@ class RTCStatsReportVerifier {
|
||||||
verifier.TestMemberIsIDReference(stream.codec_id, RTCCodecStats::kType);
|
verifier.TestMemberIsIDReference(stream.codec_id, RTCCodecStats::kType);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VerifyRTCSentRTPStreamStats(const RTCSentRtpStreamStats& sent_stream,
|
void VerifyRTCSentRtpStreamStats(const RTCSentRtpStreamStats& sent_stream,
|
||||||
RTCStatsVerifier& verifier) {
|
RTCStatsVerifier& verifier) {
|
||||||
VerifyRTCRTPStreamStats(sent_stream, verifier);
|
VerifyRTCRtpStreamStats(sent_stream, verifier);
|
||||||
verifier.TestMemberIsDefined(sent_stream.packets_sent);
|
verifier.TestMemberIsDefined(sent_stream.packets_sent);
|
||||||
verifier.TestMemberIsDefined(sent_stream.bytes_sent);
|
verifier.TestMemberIsDefined(sent_stream.bytes_sent);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool VerifyRTCInboundRTPStreamStats(
|
bool VerifyRTCInboundRtpStreamStats(
|
||||||
const RTCInboundRTPStreamStats& inbound_stream) {
|
const RTCInboundRTPStreamStats& inbound_stream) {
|
||||||
RTCStatsVerifier verifier(report_.get(), &inbound_stream);
|
RTCStatsVerifier verifier(report_.get(), &inbound_stream);
|
||||||
VerifyRTCReceivedRtpStreamStats(inbound_stream, verifier);
|
VerifyRTCReceivedRtpStreamStats(inbound_stream, verifier);
|
||||||
|
@ -920,10 +920,10 @@ class RTCStatsReportVerifier {
|
||||||
return verifier.ExpectAllMembersSuccessfullyTested();
|
return verifier.ExpectAllMembersSuccessfullyTested();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool VerifyRTCOutboundRTPStreamStats(
|
bool VerifyRTCOutboundRtpStreamStats(
|
||||||
const RTCOutboundRTPStreamStats& outbound_stream) {
|
const RTCOutboundRTPStreamStats& outbound_stream) {
|
||||||
RTCStatsVerifier verifier(report_.get(), &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.mid);
|
||||||
verifier.TestMemberIsDefined(outbound_stream.active);
|
verifier.TestMemberIsDefined(outbound_stream.active);
|
||||||
if (outbound_stream.kind.is_defined() && *outbound_stream.kind == "video") {
|
if (outbound_stream.kind.is_defined() && *outbound_stream.kind == "video") {
|
||||||
|
@ -1023,7 +1023,7 @@ class RTCStatsReportVerifier {
|
||||||
void VerifyRTCReceivedRtpStreamStats(
|
void VerifyRTCReceivedRtpStreamStats(
|
||||||
const RTCReceivedRtpStreamStats& received_rtp,
|
const RTCReceivedRtpStreamStats& received_rtp,
|
||||||
RTCStatsVerifier& verifier) {
|
RTCStatsVerifier& verifier) {
|
||||||
VerifyRTCRTPStreamStats(received_rtp, verifier);
|
VerifyRTCRtpStreamStats(received_rtp, verifier);
|
||||||
verifier.TestMemberIsNonNegative<double>(received_rtp.jitter);
|
verifier.TestMemberIsNonNegative<double>(received_rtp.jitter);
|
||||||
verifier.TestMemberIsDefined(received_rtp.packets_lost);
|
verifier.TestMemberIsDefined(received_rtp.packets_lost);
|
||||||
}
|
}
|
||||||
|
@ -1044,11 +1044,11 @@ class RTCStatsReportVerifier {
|
||||||
return verifier.ExpectAllMembersSuccessfullyTested();
|
return verifier.ExpectAllMembersSuccessfullyTested();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool VerifyRTCRemoteOutboundRTPStreamStats(
|
bool VerifyRTCRemoteOutboundRtpStreamStats(
|
||||||
const RTCRemoteOutboundRtpStreamStats& remote_outbound_stream) {
|
const RTCRemoteOutboundRtpStreamStats& remote_outbound_stream) {
|
||||||
RTCStatsVerifier verifier(report_.get(), &remote_outbound_stream);
|
RTCStatsVerifier verifier(report_.get(), &remote_outbound_stream);
|
||||||
VerifyRTCRTPStreamStats(remote_outbound_stream, verifier);
|
VerifyRTCRtpStreamStats(remote_outbound_stream, verifier);
|
||||||
VerifyRTCSentRTPStreamStats(remote_outbound_stream, verifier);
|
VerifyRTCSentRtpStreamStats(remote_outbound_stream, verifier);
|
||||||
verifier.TestMemberIsIDReference(remote_outbound_stream.local_id,
|
verifier.TestMemberIsIDReference(remote_outbound_stream.local_id,
|
||||||
RTCOutboundRTPStreamStats::kType);
|
RTCOutboundRTPStreamStats::kType);
|
||||||
verifier.TestMemberIsNonNegative<double>(
|
verifier.TestMemberIsNonNegative<double>(
|
||||||
|
|
|
@ -396,7 +396,7 @@ RTCPeerConnectionStats::RTCPeerConnectionStats(
|
||||||
RTCPeerConnectionStats::~RTCPeerConnectionStats() {}
|
RTCPeerConnectionStats::~RTCPeerConnectionStats() {}
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
WEBRTC_RTCSTATS_IMPL(RTCRTPStreamStats, RTCStats, "rtp",
|
WEBRTC_RTCSTATS_IMPL(RTCRtpStreamStats, RTCStats, "rtp",
|
||||||
&ssrc,
|
&ssrc,
|
||||||
&kind,
|
&kind,
|
||||||
&track_id,
|
&track_id,
|
||||||
|
@ -405,7 +405,7 @@ WEBRTC_RTCSTATS_IMPL(RTCRTPStreamStats, RTCStats, "rtp",
|
||||||
&media_type)
|
&media_type)
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
RTCRTPStreamStats::RTCRTPStreamStats(std::string id, Timestamp timestamp)
|
RTCRtpStreamStats::RTCRtpStreamStats(std::string id, Timestamp timestamp)
|
||||||
: RTCStats(std::move(id), timestamp),
|
: RTCStats(std::move(id), timestamp),
|
||||||
ssrc("ssrc"),
|
ssrc("ssrc"),
|
||||||
kind("kind"),
|
kind("kind"),
|
||||||
|
@ -414,20 +414,20 @@ RTCRTPStreamStats::RTCRTPStreamStats(std::string id, Timestamp timestamp)
|
||||||
codec_id("codecId"),
|
codec_id("codecId"),
|
||||||
media_type("mediaType") {}
|
media_type("mediaType") {}
|
||||||
|
|
||||||
RTCRTPStreamStats::RTCRTPStreamStats(const RTCRTPStreamStats& other) = default;
|
RTCRtpStreamStats::RTCRtpStreamStats(const RTCRtpStreamStats& other) = default;
|
||||||
|
|
||||||
RTCRTPStreamStats::~RTCRTPStreamStats() {}
|
RTCRtpStreamStats::~RTCRtpStreamStats() {}
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
WEBRTC_RTCSTATS_IMPL(
|
WEBRTC_RTCSTATS_IMPL(
|
||||||
RTCReceivedRtpStreamStats, RTCRTPStreamStats, "received-rtp",
|
RTCReceivedRtpStreamStats, RTCRtpStreamStats, "received-rtp",
|
||||||
&jitter,
|
&jitter,
|
||||||
&packets_lost)
|
&packets_lost)
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
RTCReceivedRtpStreamStats::RTCReceivedRtpStreamStats(std::string id,
|
RTCReceivedRtpStreamStats::RTCReceivedRtpStreamStats(std::string id,
|
||||||
Timestamp timestamp)
|
Timestamp timestamp)
|
||||||
: RTCRTPStreamStats(std::move(id), timestamp),
|
: RTCRtpStreamStats(std::move(id), timestamp),
|
||||||
jitter("jitter"),
|
jitter("jitter"),
|
||||||
packets_lost("packetsLost") {}
|
packets_lost("packetsLost") {}
|
||||||
|
|
||||||
|
@ -438,14 +438,14 @@ RTCReceivedRtpStreamStats::~RTCReceivedRtpStreamStats() {}
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
WEBRTC_RTCSTATS_IMPL(
|
WEBRTC_RTCSTATS_IMPL(
|
||||||
RTCSentRtpStreamStats, RTCRTPStreamStats, "sent-rtp",
|
RTCSentRtpStreamStats, RTCRtpStreamStats, "sent-rtp",
|
||||||
&packets_sent,
|
&packets_sent,
|
||||||
&bytes_sent)
|
&bytes_sent)
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
RTCSentRtpStreamStats::RTCSentRtpStreamStats(std::string id,
|
RTCSentRtpStreamStats::RTCSentRtpStreamStats(std::string id,
|
||||||
Timestamp timestamp)
|
Timestamp timestamp)
|
||||||
: RTCRTPStreamStats(std::move(id), timestamp),
|
: RTCRtpStreamStats(std::move(id), timestamp),
|
||||||
packets_sent("packetsSent"),
|
packets_sent("packetsSent"),
|
||||||
bytes_sent("bytesSent") {}
|
bytes_sent("bytesSent") {}
|
||||||
|
|
||||||
|
@ -589,14 +589,12 @@ RTCInboundRTPStreamStats::~RTCInboundRTPStreamStats() {}
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
WEBRTC_RTCSTATS_IMPL(
|
WEBRTC_RTCSTATS_IMPL(
|
||||||
RTCOutboundRTPStreamStats, RTCRTPStreamStats, "outbound-rtp",
|
RTCOutboundRTPStreamStats, RTCSentRtpStreamStats, "outbound-rtp",
|
||||||
&media_source_id,
|
&media_source_id,
|
||||||
&remote_id,
|
&remote_id,
|
||||||
&mid,
|
&mid,
|
||||||
&rid,
|
&rid,
|
||||||
&packets_sent,
|
|
||||||
&retransmitted_packets_sent,
|
&retransmitted_packets_sent,
|
||||||
&bytes_sent,
|
|
||||||
&header_bytes_sent,
|
&header_bytes_sent,
|
||||||
&retransmitted_bytes_sent,
|
&retransmitted_bytes_sent,
|
||||||
&target_bitrate,
|
&target_bitrate,
|
||||||
|
@ -626,14 +624,12 @@ WEBRTC_RTCSTATS_IMPL(
|
||||||
|
|
||||||
RTCOutboundRTPStreamStats::RTCOutboundRTPStreamStats(std::string id,
|
RTCOutboundRTPStreamStats::RTCOutboundRTPStreamStats(std::string id,
|
||||||
Timestamp timestamp)
|
Timestamp timestamp)
|
||||||
: RTCRTPStreamStats(std::move(id), timestamp),
|
: RTCSentRtpStreamStats(std::move(id), timestamp),
|
||||||
media_source_id("mediaSourceId"),
|
media_source_id("mediaSourceId"),
|
||||||
remote_id("remoteId"),
|
remote_id("remoteId"),
|
||||||
mid("mid"),
|
mid("mid"),
|
||||||
rid("rid"),
|
rid("rid"),
|
||||||
packets_sent("packetsSent"),
|
|
||||||
retransmitted_packets_sent("retransmittedPacketsSent"),
|
retransmitted_packets_sent("retransmittedPacketsSent"),
|
||||||
bytes_sent("bytesSent"),
|
|
||||||
header_bytes_sent("headerBytesSent"),
|
header_bytes_sent("headerBytesSent"),
|
||||||
retransmitted_bytes_sent("retransmittedBytesSent"),
|
retransmitted_bytes_sent("retransmittedBytesSent"),
|
||||||
target_bitrate("targetBitrate"),
|
target_bitrate("targetBitrate"),
|
||||||
|
|
Loading…
Reference in a new issue