Reland "[Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs."

This is a reland of commit 626f87d90501fd8d7a4ea071686cd8befd0d430c

Original change's description:
> [Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs.
>
> In preparation for the spec moving closer to PR, let's not have
> placeholder metrics not implemented.
>
> Bug: webrtc:14167
> Change-Id: If4688ef85b57f88154d490186b306b30414874e4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265383
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37205}

Bug: webrtc:14167
Change-Id: Ib12488fb8510fb3430e92bcd72d88c7879ecb0ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265861
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37226}
diff --git a/api/stats/rtcstats_objects.h b/api/stats/rtcstats_objects.h
index 7f93c1c..6984169 100644
--- a/api/stats/rtcstats_objects.h
+++ b/api/stats/rtcstats_objects.h
@@ -176,7 +176,7 @@
   RTCStatsMember<std::string> label;
   RTCStatsMember<std::string> protocol;
   RTCStatsMember<int32_t> data_channel_identifier;
-  // TODO(hbos): Support enum types? "RTCStatsMember<RTCDataChannelState>"?
+  // Enum type RTCDataChannelState.
   RTCStatsMember<std::string> state;
   RTCStatsMember<uint32_t> messages_sent;
   RTCStatsMember<uint64_t> bytes_sent;
@@ -185,7 +185,6 @@
 };
 
 // https://w3c.github.io/webrtc-stats/#candidatepair-dict*
-// TODO(hbos): Tracking bug https://bugs.webrtc.org/7062
 class RTC_EXPORT RTCIceCandidatePairStats final : public RTCStats {
  public:
   WEBRTC_RTCSTATS_DECL();
@@ -198,17 +197,16 @@
   RTCStatsMember<std::string> transport_id;
   RTCStatsMember<std::string> local_candidate_id;
   RTCStatsMember<std::string> remote_candidate_id;
-  // TODO(hbos): Support enum types?
-  // "RTCStatsMember<RTCStatsIceCandidatePairState>"?
+  // Enum type RTCStatsIceCandidatePairState.
   RTCStatsMember<std::string> state;
   // Obsolete: priority
   RTCStatsMember<uint64_t> priority;
   RTCStatsMember<bool> nominated;
-  // TODO(hbos): Collect this the way the spec describes it. We have a value for
-  // it but it is not spec-compliant. https://bugs.webrtc.org/7062
+  // `writable` does not exist in the spec and old comments suggest it used to
+  // exist but was incorrectly implemented.
+  // TODO(https://crbug.com/webrtc/14171): Standardize and/or modify
+  // implementation.
   RTCStatsMember<bool> writable;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7062
-  RTCStatsMember<bool> readable;
   RTCStatsMember<uint64_t> packets_sent;
   RTCStatsMember<uint64_t> packets_received;
   RTCStatsMember<uint64_t> bytes_sent;
@@ -216,35 +214,17 @@
   RTCStatsMember<double> total_round_trip_time;
   RTCStatsMember<double> current_round_trip_time;
   RTCStatsMember<double> available_outgoing_bitrate;
-  // TODO(hbos): Populate this value. It is wired up and collected the same way
-  // "VideoBwe.googAvailableReceiveBandwidth" is, but that value is always
-  // undefined. https://bugs.webrtc.org/7062
   RTCStatsMember<double> available_incoming_bitrate;
   RTCStatsMember<uint64_t> requests_received;
   RTCStatsMember<uint64_t> requests_sent;
   RTCStatsMember<uint64_t> responses_received;
   RTCStatsMember<uint64_t> responses_sent;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7062
-  RTCStatsMember<uint64_t> retransmissions_received;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7062
-  RTCStatsMember<uint64_t> retransmissions_sent;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7062
-  RTCStatsMember<uint64_t> consent_requests_received;
   RTCStatsMember<uint64_t> consent_requests_sent;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7062
-  RTCStatsMember<uint64_t> consent_responses_received;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7062
-  RTCStatsMember<uint64_t> consent_responses_sent;
   RTCStatsMember<uint64_t> packets_discarded_on_send;
   RTCStatsMember<uint64_t> bytes_discarded_on_send;
 };
 
 // https://w3c.github.io/webrtc-stats/#icecandidate-dict*
-// TODO(hbos): `RTCStatsCollector` only collects candidates that are part of
-// ice candidate pairs, but there could be candidates not paired with anything.
-// crbug.com/632723
-// TODO(qingsi): Add the stats of STUN binding requests (keepalives) and collect
-// them in the new PeerConnection::GetStats.
 class RTC_EXPORT RTCIceCandidateStats : public RTCStats {
  public:
   WEBRTC_RTCSTATS_DECL();
@@ -261,7 +241,7 @@
   RTCStatsMember<int32_t> port;
   RTCStatsMember<std::string> protocol;
   RTCStatsMember<std::string> relay_protocol;
-  // TODO(hbos): Support enum types? "RTCStatsMember<RTCIceCandidateType>"?
+  // Enum type RTCIceCandidateType.
   RTCStatsMember<std::string> candidate_type;
   RTCStatsMember<int32_t> priority;
   RTCStatsMember<std::string> url;
@@ -300,8 +280,8 @@
   const char* type() const override;
 };
 
-// https://w3c.github.io/webrtc-stats/#msstats-dict*
-// TODO(hbos): Tracking bug crbug.com/660827
+// https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamstats
+// TODO(https://crbug.com/webrtc/14172): Deprecate and remove.
 class RTC_EXPORT RTCMediaStreamStats final : public RTCStats {
  public:
   WEBRTC_RTCSTATS_DECL();
@@ -315,8 +295,8 @@
   RTCStatsMember<std::vector<std::string>> track_ids;
 };
 
-// https://w3c.github.io/webrtc-stats/#mststats-dict*
-// TODO(hbos): Tracking bug crbug.com/659137
+// TODO(https://crbug.com/webrtc/14175): Deprecate and remove in favor of
+// RTCMediaSourceStats/RTCOutboundRtpStreamStats and RTCInboundRtpStreamStats.
 class RTC_EXPORT RTCMediaStreamTrackStats final : public RTCStats {
  public:
   WEBRTC_RTCSTATS_DECL();
@@ -334,29 +314,20 @@
   RTCStatsMember<std::string> media_source_id;
   RTCStatsMember<bool> remote_source;
   RTCStatsMember<bool> ended;
-  // TODO(hbos): `RTCStatsCollector` does not return stats for detached tracks.
-  // crbug.com/659137
+  // TODO(https://crbug.com/webrtc/14173): Remove this obsolete metric.
   RTCStatsMember<bool> detached;
-  // See `RTCMediaStreamTrackKind` for valid values.
+  // Enum type RTCMediaStreamTrackKind.
   RTCStatsMember<std::string> kind;
   RTCStatsMember<double> jitter_buffer_delay;
   RTCStatsMember<uint64_t> jitter_buffer_emitted_count;
   // Video-only members
   RTCStatsMember<uint32_t> frame_width;
   RTCStatsMember<uint32_t> frame_height;
-  // TODO(hbos): Not collected by `RTCStatsCollector`. crbug.com/659137
-  RTCStatsMember<double> frames_per_second;
   RTCStatsMember<uint32_t> frames_sent;
   RTCStatsMember<uint32_t> huge_frames_sent;
   RTCStatsMember<uint32_t> frames_received;
   RTCStatsMember<uint32_t> frames_decoded;
   RTCStatsMember<uint32_t> frames_dropped;
-  // TODO(hbos): Not collected by `RTCStatsCollector`. crbug.com/659137
-  RTCStatsMember<uint32_t> frames_corrupted;
-  // TODO(hbos): Not collected by `RTCStatsCollector`. crbug.com/659137
-  RTCStatsMember<uint32_t> partial_frames_lost;
-  // TODO(hbos): Not collected by `RTCStatsCollector`. crbug.com/659137
-  RTCStatsMember<uint32_t> full_frames_lost;
   // Audio-only members
   RTCStatsMember<double> audio_level;         // Receive-only
   RTCStatsMember<double> total_audio_energy;  // Receive-only
@@ -370,7 +341,7 @@
   RTCStatsMember<uint64_t> inserted_samples_for_deceleration;
   RTCStatsMember<uint64_t> removed_samples_for_acceleration;
   // Non-standard audio-only member
-  // TODO(kuddai): Add description to standard. crbug.com/webrtc/10042
+  // https://w3c.github.io/webrtc-provisional-stats/#dom-rtcaudioreceiverstats-jitterbufferflushes
   RTCNonStandardStatsMember<uint64_t> jitter_buffer_flushes;
   RTCNonStandardStatsMember<uint64_t> delayed_packet_outage_samples;
   RTCNonStandardStatsMember<double> relative_packet_arrival_delay;
@@ -380,14 +351,15 @@
   // delay, in seconds, at the time that the sample was emitted from the jitter
   // buffer. (https://github.com/w3c/webrtc-provisional-stats/pull/20)
   // Currently it is implemented only for audio.
-  // TODO(titovartem) implement for video streams when will be requested.
+  // TODO(https://crbug.com/webrtc/14176): This should be moved to
+  // RTCInboundRtpStreamStats and it should be implemented for video as well.
   RTCNonStandardStatsMember<double> jitter_buffer_target_delay;
   // TODO(henrik.lundin): Add description of the interruption metrics at
-  // https://github.com/henbos/webrtc-provisional-stats/issues/17
+  // https://github.com/w3c/webrtc-provisional-stats/issues/17
   RTCNonStandardStatsMember<uint32_t> interruption_count;
   RTCNonStandardStatsMember<double> total_interruption_duration;
   // Non-standard video-only members.
-  // https://henbos.github.io/webrtc-provisional-stats/#RTCVideoReceiverStats-dict*
+  // https://w3c.github.io/webrtc-provisional-stats/#dom-rtcvideoreceiverstats
   RTCNonStandardStatsMember<uint32_t> freeze_count;
   RTCNonStandardStatsMember<uint32_t> pause_count;
   RTCNonStandardStatsMember<double> total_freezes_duration;
@@ -411,7 +383,6 @@
 };
 
 // https://w3c.github.io/webrtc-stats/#streamstats-dict*
-// TODO(hbos): Tracking bug crbug.com/657854
 class RTC_EXPORT RTCRTPStreamStats : public RTCStats {
  public:
   WEBRTC_RTCSTATS_DECL();
@@ -442,13 +413,6 @@
   RTCReceivedRtpStreamStats(const RTCReceivedRtpStreamStats& other);
   ~RTCReceivedRtpStreamStats() override;
 
-  // TODO(hbos) The following fields need to be added and migrated
-  // both from RTCInboundRtpStreamStats and RTCRemoteInboundRtpStreamStats:
-  // packetsReceived, packetsRepaired, burstPacketsLost,
-  // burstPacketDiscarded, burstLossCount, burstDiscardCount, burstLossRate,
-  // burstDiscardRate, gapLossRate, gapDiscardRate, framesDropped,
-  // partialFramesLost, fullFramesLost
-  // crbug.com/webrtc/12532
   RTCStatsMember<double> jitter;
   RTCStatsMember<int32_t> packets_lost;  // Signed per RFC 3550
   RTCStatsMember<uint64_t> packets_discarded;
@@ -475,8 +439,6 @@
 };
 
 // https://w3c.github.io/webrtc-stats/#inboundrtpstats-dict*
-// TODO(hbos): Support the remote case |is_remote = true|.
-// https://bugs.webrtc.org/7065
 class RTC_EXPORT RTCInboundRTPStreamStats final
     : public RTCReceivedRtpStreamStats {
  public:
@@ -487,6 +449,8 @@
   RTCInboundRTPStreamStats(const RTCInboundRTPStreamStats& other);
   ~RTCInboundRTPStreamStats() override;
 
+  // TODO(https://crbug.com/webrtc/14174): Implement trackIdentifier and kind.
+
   RTCStatsMember<std::string> remote_id;
   RTCStatsMember<uint32_t> packets_received;
   RTCStatsMember<uint64_t> fec_packets_received;
@@ -505,48 +469,28 @@
   RTCStatsMember<double> audio_level;
   RTCStatsMember<double> total_audio_energy;
   RTCStatsMember<double> total_samples_duration;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<double> round_trip_time;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<uint32_t> packets_repaired;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<uint32_t> burst_packets_lost;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<uint32_t> burst_packets_discarded;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<uint32_t> burst_loss_count;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<uint32_t> burst_discard_count;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<double> burst_loss_rate;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<double> burst_discard_rate;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<double> gap_loss_rate;
-  // TODO(hbos): Collect and populate this value. https://bugs.webrtc.org/7065
-  RTCStatsMember<double> gap_discard_rate;
   // Stats below are only implemented or defined for video.
   RTCStatsMember<int32_t> frames_received;
   RTCStatsMember<uint32_t> frame_width;
   RTCStatsMember<uint32_t> frame_height;
-  RTCStatsMember<uint32_t> frame_bit_depth;
   RTCStatsMember<double> frames_per_second;
   RTCStatsMember<uint32_t> frames_decoded;
   RTCStatsMember<uint32_t> key_frames_decoded;
   RTCStatsMember<uint32_t> frames_dropped;
   RTCStatsMember<double> total_decode_time;
   RTCStatsMember<double> total_processing_delay;
-  // TODO(bugs.webrtc.org/13986): standardize
+  // TODO(https://crbug.com/webrtc/13986): standardize
   RTCNonStandardStatsMember<double> total_assembly_time;
   RTCNonStandardStatsMember<uint32_t> frames_assembled_from_multiple_packets;
   RTCStatsMember<double> total_inter_frame_delay;
   RTCStatsMember<double> total_squared_inter_frame_delay;
-  // https://henbos.github.io/webrtc-provisional-stats/#dom-rtcinboundrtpstreamstats-contenttype
+  // https://w3c.github.io/webrtc-provisional-stats/#dom-rtcinboundrtpstreamstats-contenttype
   RTCStatsMember<std::string> content_type;
-  // TODO(asapersson): Currently only populated if audio/video sync is enabled.
+  // Only populated if audio/video sync is enabled.
+  // TODO(https://crbug.com/webrtc/14177): Expose even if A/V sync is off?
   RTCStatsMember<double> estimated_playout_timestamp;
-  // TODO(hbos): This is only implemented for video; implement it for audio as
-  // well.
+  // Only implemented for video.
+  // TODO(https://crbug.com/webrtc/14178): Also implement for audio.
   RTCStatsMember<std::string> decoder_implementation;
   // FIR and PLI counts are only defined for |kind == "video"|.
   RTCStatsMember<uint32_t> fir_count;
@@ -559,8 +503,6 @@
 };
 
 // https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*
-// TODO(hbos): Support the remote case |is_remote = true|.
-// https://bugs.webrtc.org/7066
 class RTC_EXPORT RTCOutboundRTPStreamStats final : public RTCRTPStreamStats {
  public:
   WEBRTC_RTCSTATS_DECL();
@@ -597,10 +539,10 @@
   RTCStatsMember<std::map<std::string, double>> quality_limitation_durations;
   // https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-qualitylimitationresolutionchanges
   RTCStatsMember<uint32_t> quality_limitation_resolution_changes;
-  // https://henbos.github.io/webrtc-provisional-stats/#dom-rtcoutboundrtpstreamstats-contenttype
+  // https://w3c.github.io/webrtc-provisional-stats/#dom-rtcoutboundrtpstreamstats-contenttype
   RTCStatsMember<std::string> content_type;
-  // TODO(hbos): This is only implemented for video; implement it for audio as
-  // well.
+  // Only implemented for video.
+  // TODO(https://crbug.com/webrtc/14178): Implement for audio as well.
   RTCStatsMember<std::string> encoder_implementation;
   // FIR and PLI counts are only defined for |kind == "video"|.
   RTCStatsMember<uint32_t> fir_count;
@@ -620,11 +562,6 @@
   RTCRemoteInboundRtpStreamStats(const RTCRemoteInboundRtpStreamStats& other);
   ~RTCRemoteInboundRtpStreamStats() override;
 
-  // TODO(hbos): The following RTCReceivedRtpStreamStats metrics should also be
-  // implemented: packetsReceived, packetsRepaired,
-  // burstPacketsLost, burstPacketsDiscarded, burstLossCount, burstDiscardCount,
-  // burstLossRate, burstDiscardRate, gapLossRate and gapDiscardRate.
-  // RTCRemoteInboundRtpStreamStats
   RTCStatsMember<std::string> local_id;
   RTCStatsMember<double> round_trip_time;
   RTCStatsMember<double> fraction_lost;
@@ -715,7 +652,7 @@
   RTCStatsMember<uint64_t> bytes_received;
   RTCStatsMember<uint64_t> packets_received;
   RTCStatsMember<std::string> rtcp_transport_stats_id;
-  // TODO(hbos): Support enum types? "RTCStatsMember<RTCDtlsTransportState>"?
+  // Enum type RTCDtlsTransportState.
   RTCStatsMember<std::string> dtls_state;
   RTCStatsMember<std::string> selected_candidate_pair_id;
   RTCStatsMember<std::string> local_certificate_id;
diff --git a/pc/rtc_stats_integrationtest.cc b/pc/rtc_stats_integrationtest.cc
index 448373c..3783356 100644
--- a/pc/rtc_stats_integrationtest.cc
+++ b/pc/rtc_stats_integrationtest.cc
@@ -485,7 +485,6 @@
     verifier.TestMemberIsNonNegative<uint64_t>(candidate_pair.priority);
     verifier.TestMemberIsDefined(candidate_pair.nominated);
     verifier.TestMemberIsDefined(candidate_pair.writable);
-    verifier.TestMemberIsUndefined(candidate_pair.readable);
     verifier.TestMemberIsNonNegative<uint64_t>(candidate_pair.packets_sent);
     verifier.TestMemberIsNonNegative<uint64_t>(
         candidate_pair.packets_discarded_on_send);
@@ -513,13 +512,8 @@
     verifier.TestMemberIsNonNegative<uint64_t>(
         candidate_pair.responses_received);
     verifier.TestMemberIsNonNegative<uint64_t>(candidate_pair.responses_sent);
-    verifier.TestMemberIsUndefined(candidate_pair.retransmissions_received);
-    verifier.TestMemberIsUndefined(candidate_pair.retransmissions_sent);
-    verifier.TestMemberIsUndefined(candidate_pair.consent_requests_received);
     verifier.TestMemberIsNonNegative<uint64_t>(
         candidate_pair.consent_requests_sent);
-    verifier.TestMemberIsUndefined(candidate_pair.consent_responses_received);
-    verifier.TestMemberIsUndefined(candidate_pair.consent_responses_sent);
 
     return verifier.ExpectAllMembersSuccessfullyTested();
   }
@@ -635,10 +629,6 @@
           media_stream_track.frame_width);
       verifier.TestMemberIsNonNegative<uint32_t>(
           media_stream_track.frame_height);
-      verifier.TestMemberIsUndefined(media_stream_track.frames_per_second);
-      verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted);
-      verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost);
-      verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost);
       // Audio-only members should be undefined
       verifier.TestMemberIsUndefined(media_stream_track.audio_level);
       verifier.TestMemberIsUndefined(media_stream_track.echo_return_loss);
@@ -740,15 +730,11 @@
       // Video-only members should be undefined
       verifier.TestMemberIsUndefined(media_stream_track.frame_width);
       verifier.TestMemberIsUndefined(media_stream_track.frame_height);
-      verifier.TestMemberIsUndefined(media_stream_track.frames_per_second);
       verifier.TestMemberIsUndefined(media_stream_track.frames_sent);
       verifier.TestMemberIsUndefined(media_stream_track.huge_frames_sent);
       verifier.TestMemberIsUndefined(media_stream_track.frames_received);
       verifier.TestMemberIsUndefined(media_stream_track.frames_decoded);
       verifier.TestMemberIsUndefined(media_stream_track.frames_dropped);
-      verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted);
-      verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost);
-      verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost);
       verifier.TestMemberIsUndefined(media_stream_track.freeze_count);
       verifier.TestMemberIsUndefined(media_stream_track.pause_count);
       verifier.TestMemberIsUndefined(media_stream_track.total_freezes_duration);
@@ -849,7 +835,6 @@
     } else {
       verifier.TestMemberIsUndefined(inbound_stream.frames_per_second);
     }
-    verifier.TestMemberIsUndefined(inbound_stream.frame_bit_depth);
     verifier.TestMemberIsNonNegative<double>(
         inbound_stream.jitter_buffer_delay);
     verifier.TestMemberIsNonNegative<uint64_t>(
@@ -893,16 +878,6 @@
           inbound_stream.total_samples_duration);
       verifier.TestMemberIsUndefined(inbound_stream.frames_received);
     }
-    verifier.TestMemberIsUndefined(inbound_stream.round_trip_time);
-    verifier.TestMemberIsUndefined(inbound_stream.packets_repaired);
-    verifier.TestMemberIsUndefined(inbound_stream.burst_packets_lost);
-    verifier.TestMemberIsUndefined(inbound_stream.burst_packets_discarded);
-    verifier.TestMemberIsUndefined(inbound_stream.burst_loss_count);
-    verifier.TestMemberIsUndefined(inbound_stream.burst_discard_count);
-    verifier.TestMemberIsUndefined(inbound_stream.burst_loss_rate);
-    verifier.TestMemberIsUndefined(inbound_stream.burst_discard_rate);
-    verifier.TestMemberIsUndefined(inbound_stream.gap_loss_rate);
-    verifier.TestMemberIsUndefined(inbound_stream.gap_discard_rate);
     // Test runtime too short to get an estimate (at least two RTCP sender
     // reports need to be received).
     verifier.MarkMemberTested(inbound_stream.estimated_playout_timestamp, true);
diff --git a/stats/rtcstats_objects.cc b/stats/rtcstats_objects.cc
index b0003c3..a087359 100644
--- a/stats/rtcstats_objects.cc
+++ b/stats/rtcstats_objects.cc
@@ -191,7 +191,6 @@
     &priority,
     &nominated,
     &writable,
-    &readable,
     &packets_sent,
     &packets_received,
     &bytes_sent,
@@ -204,12 +203,7 @@
     &requests_sent,
     &responses_received,
     &responses_sent,
-    &retransmissions_received,
-    &retransmissions_sent,
-    &consent_requests_received,
     &consent_requests_sent,
-    &consent_responses_received,
-    &consent_responses_sent,
     &packets_discarded_on_send,
     &bytes_discarded_on_send)
 // clang-format on
@@ -228,7 +222,6 @@
       priority("priority"),
       nominated("nominated"),
       writable("writable"),
-      readable("readable"),
       packets_sent("packetsSent"),
       packets_received("packetsReceived"),
       bytes_sent("bytesSent"),
@@ -241,12 +234,7 @@
       requests_sent("requestsSent"),
       responses_received("responsesReceived"),
       responses_sent("responsesSent"),
-      retransmissions_received("retransmissionsReceived"),
-      retransmissions_sent("retransmissionsSent"),
-      consent_requests_received("consentRequestsReceived"),
       consent_requests_sent("consentRequestsSent"),
-      consent_responses_received("consentResponsesReceived"),
-      consent_responses_sent("consentResponsesSent"),
       packets_discarded_on_send("packetsDiscardedOnSend"),
       bytes_discarded_on_send("bytesDiscardedOnSend") {}
 
@@ -260,7 +248,6 @@
       priority(other.priority),
       nominated(other.nominated),
       writable(other.writable),
-      readable(other.readable),
       packets_sent(other.packets_sent),
       packets_received(other.packets_received),
       bytes_sent(other.bytes_sent),
@@ -273,12 +260,7 @@
       requests_sent(other.requests_sent),
       responses_received(other.responses_received),
       responses_sent(other.responses_sent),
-      retransmissions_received(other.retransmissions_received),
-      retransmissions_sent(other.retransmissions_sent),
-      consent_requests_received(other.consent_requests_received),
       consent_requests_sent(other.consent_requests_sent),
-      consent_responses_received(other.consent_responses_received),
-      consent_responses_sent(other.consent_responses_sent),
       packets_discarded_on_send(other.packets_discarded_on_send),
       bytes_discarded_on_send(other.bytes_discarded_on_send) {}
 
@@ -412,15 +394,11 @@
                      &jitter_buffer_emitted_count,
                      &frame_width,
                      &frame_height,
-                     &frames_per_second,
                      &frames_sent,
                      &huge_frames_sent,
                      &frames_received,
                      &frames_decoded,
                      &frames_dropped,
-                     &frames_corrupted,
-                     &partial_frames_lost,
-                     &full_frames_lost,
                      &audio_level,
                      &total_audio_energy,
                      &echo_return_loss,
@@ -465,15 +443,11 @@
       jitter_buffer_emitted_count("jitterBufferEmittedCount"),
       frame_width("frameWidth"),
       frame_height("frameHeight"),
-      frames_per_second("framesPerSecond"),
       frames_sent("framesSent"),
       huge_frames_sent("hugeFramesSent"),
       frames_received("framesReceived"),
       frames_decoded("framesDecoded"),
       frames_dropped("framesDropped"),
-      frames_corrupted("framesCorrupted"),
-      partial_frames_lost("partialFramesLost"),
-      full_frames_lost("fullFramesLost"),
       audio_level("audioLevel"),
       total_audio_energy("totalAudioEnergy"),
       echo_return_loss("echoReturnLoss"),
@@ -521,15 +495,11 @@
       jitter_buffer_emitted_count(other.jitter_buffer_emitted_count),
       frame_width(other.frame_width),
       frame_height(other.frame_height),
-      frames_per_second(other.frames_per_second),
       frames_sent(other.frames_sent),
       huge_frames_sent(other.huge_frames_sent),
       frames_received(other.frames_received),
       frames_decoded(other.frames_decoded),
       frames_dropped(other.frames_dropped),
-      frames_corrupted(other.frames_corrupted),
-      partial_frames_lost(other.partial_frames_lost),
-      full_frames_lost(other.full_frames_lost),
       audio_level(other.audio_level),
       total_audio_energy(other.total_audio_energy),
       echo_return_loss(other.echo_return_loss),
@@ -688,20 +658,9 @@
     &audio_level,
     &total_audio_energy,
     &total_samples_duration,
-    &round_trip_time,
-    &packets_repaired,
-    &burst_packets_lost,
-    &burst_packets_discarded,
-    &burst_loss_count,
-    &burst_discard_count,
-    &burst_loss_rate,
-    &burst_discard_rate,
-    &gap_loss_rate,
-    &gap_discard_rate,
     &frames_received,
     &frame_width,
     &frame_height,
-    &frame_bit_depth,
     &frames_per_second,
     &frames_decoded,
     &key_frames_decoded,
@@ -747,20 +706,9 @@
       audio_level("audioLevel"),
       total_audio_energy("totalAudioEnergy"),
       total_samples_duration("totalSamplesDuration"),
-      round_trip_time("roundTripTime"),
-      packets_repaired("packetsRepaired"),
-      burst_packets_lost("burstPacketsLost"),
-      burst_packets_discarded("burstPacketsDiscarded"),
-      burst_loss_count("burstLossCount"),
-      burst_discard_count("burstDiscardCount"),
-      burst_loss_rate("burstLossRate"),
-      burst_discard_rate("burstDiscardRate"),
-      gap_loss_rate("gapLossRate"),
-      gap_discard_rate("gapDiscardRate"),
       frames_received("framesReceived"),
       frame_width("frameWidth"),
       frame_height("frameHeight"),
-      frame_bit_depth("frameBitDepth"),
       frames_per_second("framesPerSecond"),
       frames_decoded("framesDecoded"),
       key_frames_decoded("keyFramesDecoded"),
@@ -803,20 +751,9 @@
       audio_level(other.audio_level),
       total_audio_energy(other.total_audio_energy),
       total_samples_duration(other.total_samples_duration),
-      round_trip_time(other.round_trip_time),
-      packets_repaired(other.packets_repaired),
-      burst_packets_lost(other.burst_packets_lost),
-      burst_packets_discarded(other.burst_packets_discarded),
-      burst_loss_count(other.burst_loss_count),
-      burst_discard_count(other.burst_discard_count),
-      burst_loss_rate(other.burst_loss_rate),
-      burst_discard_rate(other.burst_discard_rate),
-      gap_loss_rate(other.gap_loss_rate),
-      gap_discard_rate(other.gap_discard_rate),
       frames_received(other.frames_received),
       frame_width(other.frame_width),
       frame_height(other.frame_height),
-      frame_bit_depth(other.frame_bit_depth),
       frames_per_second(other.frames_per_second),
       frames_decoded(other.frames_decoded),
       key_frames_decoded(other.key_frames_decoded),