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}
diff --git a/api/stats/rtcstats_objects.h b/api/stats/rtcstats_objects.h
index 8e376a3..4485937 100644
--- a/api/stats/rtcstats_objects.h
+++ b/api/stats/rtcstats_objects.h
@@ -354,12 +354,12 @@
 };
 
 // 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 @@
   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 @@
 };
 
 // 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 @@
 };
 
 // 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 @@
   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;
diff --git a/pc/rtc_stats_integrationtest.cc b/pc/rtc_stats_integrationtest.cc
index f01d487..2f8d64b 100644
--- a/pc/rtc_stats_integrationtest.cc
+++ b/pc/rtc_stats_integrationtest.cc
@@ -390,16 +390,16 @@
         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 @@
     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 @@
     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 @@
     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 @@
   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 @@
     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>(
diff --git a/stats/rtcstats_objects.cc b/stats/rtcstats_objects.cc
index 7f70381..b0e1a06 100644
--- a/stats/rtcstats_objects.cc
+++ b/stats/rtcstats_objects.cc
@@ -396,7 +396,7 @@
 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 @@
     &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 @@
       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 @@
 
 // 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 @@
 
 // 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 @@
 
 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"),