Implement QualityLimitationReasonTracker and expose "reason".
This CL implements the logic behind qualityLimitationReason[1] and qualityLimitationDurations[2] This CL also exposes qualityLimitationReason in the standard getStats() API, but does not expose qualityLimitationDurations because that is blocked on supporting the "record<>" type in RTCStatsMember[3]. [1] https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-qualitylimitationreason [2] https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-qualitylimitationdurations [3] https://crbug.com/webrtc/10685 TBR=stefan@webrtc.org Bug: webrtc:10451, webrtc:10686 Change-Id: Ifff0be4ddd64eaec23d59c02af99fdbb1feb3841 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138825 Commit-Queue: Henrik Boström <hbos@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28090}
This commit is contained in:
committed by
Commit Bot
parent
07fc398ca8
commit
ce33b6a4cf
@ -74,6 +74,14 @@ struct RTCNetworkType {
|
||||
static const char* const kUnknown;
|
||||
};
|
||||
|
||||
// https://w3c.github.io/webrtc-stats/#dom-rtcqualitylimitationreason
|
||||
struct RTCQualityLimitationReason {
|
||||
static const char* const kNone;
|
||||
static const char* const kCpu;
|
||||
static const char* const kBandwidth;
|
||||
static const char* const kOther;
|
||||
};
|
||||
|
||||
// https://webrtc.org/experiments/rtp-hdrext/video-content-type/
|
||||
struct RTCContentType {
|
||||
static const char* const kUnspecified;
|
||||
@ -464,6 +472,11 @@ class RTC_EXPORT RTCOutboundRTPStreamStats final : public RTCRTPStreamStats {
|
||||
// TODO(https://crbug.com/webrtc/10635): This is only implemented for video;
|
||||
// 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;
|
||||
// https://henbos.github.io/webrtc-provisional-stats/#dom-rtcoutboundrtpstreamstats-contenttype
|
||||
RTCStatsMember<std::string> content_type;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user