Expose jitter buffer flushes metric in new getStats api.
Origin trial experiment proposal (new statistic part):
https://docs.google.com/document/d/1stYIZhEmDZ7NJF9gjjsM66eLFJUdc-14a3QutrFbIwI/edit?ts=5bf5535c#
Bug: chromium:907113
Change-Id: I1d005291f9b47665f70c26148dbdcbb55564bef8
Reviewed-on: https://webrtc-review.googlesource.com/c/111505
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Cr-Commit-Position: refs/heads/master@{#25768}
diff --git a/api/stats/rtcstats.h b/api/stats/rtcstats.h
index f65df28..7fd0d84 100644
--- a/api/stats/rtcstats.h
+++ b/api/stats/rtcstats.h
@@ -295,15 +295,6 @@
is_defined_ = true;
return value_;
}
- T& operator=(const RTCStatsMember<T>& other) {
- RTC_DCHECK(other.is_defined_);
- // Shouldn't be attempting to assign an RTCNonStandardStatsMember to an
- // RTCStatsMember or vice versa.
- RTC_DCHECK(is_standardized() == other.is_standardized());
- value_ = other.value_;
- is_defined_ = true;
- return value_;
- }
// Value getters.
T& operator*() {
@@ -348,6 +339,11 @@
: RTCStatsMember<T>(std::move(other)) {}
bool is_standardized() const override { return false; }
+
+ T& operator=(const T& value) { return RTCStatsMember<T>::operator=(value); }
+ T& operator=(const T&& value) {
+ return RTCStatsMember<T>::operator=(std::move(value));
+ }
};
} // namespace webrtc
diff --git a/api/stats/rtcstats_objects.h b/api/stats/rtcstats_objects.h
index dc9da72..8496f8c 100644
--- a/api/stats/rtcstats_objects.h
+++ b/api/stats/rtcstats_objects.h
@@ -308,6 +308,9 @@
RTCStatsMember<double> total_samples_duration;
RTCStatsMember<uint64_t> concealed_samples;
RTCStatsMember<uint64_t> concealment_events;
+ // Non-standard audio-only member
+ // TODO(kuddai): Add descriptoin to standard. crbug.com/webrtc/10042
+ RTCNonStandardStatsMember<uint64_t> jitter_buffer_flushes;
};
// https://w3c.github.io/webrtc-stats/#pcstats-dict*