Populate qualityLimitationDurations stats for outbound RTP streams
Spec: https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-qualitylimitationdurations
Tested in chromium using wpt/webrtc-stats.
Bug: webrtc:10686
Change-Id: I05ac344e6caa7a663675de4c06ccfd17e1efb6ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219300
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34179}
diff --git a/api/stats/rtcstats_objects.h b/api/stats/rtcstats_objects.h
index 60ff8c2..fe6d658 100644
--- a/api/stats/rtcstats_objects.h
+++ b/api/stats/rtcstats_objects.h
@@ -13,6 +13,7 @@
#include <stdint.h>
+#include <map>
#include <memory>
#include <string>
#include <vector>
@@ -542,10 +543,8 @@
// implement it for audio as well.
RTCStatsMember<double> total_packet_send_delay;
// Enum type RTCQualityLimitationReason
- // TODO(https://crbug.com/webrtc/10686): Also expose
- // qualityLimitationDurations. Requires RTCStatsMember support for
- // "record<DOMString, double>", see https://crbug.com/webrtc/10685.
RTCStatsMember<std::string> quality_limitation_reason;
+ 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