New issue
Advanced search Search tips

Issue 859448 link

Starred by 5 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue webrtc:9545


Show other hotlists

Hotlists containing this issue:
WebRTC-1.0-Spec-Compliance


Sign in to add a comment

Implement RTCRemoteInboundRtpStreamStats

Project Member Reported by hbos@chromium.org, Jul 2

Issue description

The roundTripTime is one of the metrics that should be exposed based on the RTCP Receiver Report which would be very valuable to getStats() users.
This is part of the RTCRemoteInboundRtpStreamStats dictionary which is currently not implemented in spec-compliant getStats()[1].

This is the dictionary + hierarchy, see spec[2].

dictionary RTCRtpStreamStats : RTCStats {
             unsigned long ssrc;
             DOMString kind;
             DOMString transportId;
             DOMString codecId;
             unsigned long firCount;
             unsigned long pliCount;
             unsigned long nackCount;
             unsigned long sliCount;
             unsigned long long qpSum;
};

dictionary RTCReceivedRtpStreamStats : RTCRtpStreamStats {
             unsigned long packetsReceived;
             long packetsLost;
             double jitter;
             unsigned long packetsDiscarded;
             unsigned long packetsRepaired;
             unsigned long burstPacketsLost;
             unsigned long burstPacketsDiscarded;
             unsigned long burstLossCount;
             unsigned long burstDiscardCount;
             double burstLossRate;
             double burstDiscardRate;
             double gapLossRate;
             double gapDiscardRate;
};

dictionary RTCRemoteInboundRtpStreamStats : RTCReceivedRtpStreamStats {
             DOMString localId;
             double roundTripTime;
             double fractionLost;
};

The current dictionary implementation[3] only has inbound and outbound RTP, so the hierarchy is not up-to-date (no RTC[Sender/Receiver]RtpStreamStats) but the final dictionary contains the same members.

[1] https://cs.chromium.org/chromium/src/third_party/webrtc/pc/rtcstatscollector.h?q=rtcstatscollector.h&sq=package:chromium&dr=CSs&l=11
[2] https://w3c.github.io/webrtc-stats/#remoteinboundrtpstats-dict*
[3] https://cs.chromium.org/chromium/src/third_party/webrtc/api/stats/rtcstats_objects.h?l=326

 
holmer@: Which of these are carried in the RTCP RR and would be "low hanging fruit" to expose? Can someone who knows the RTCP RR territory take on implementing all the RTCP RR ones we have available?
Blockedon: webrtc:9545
I duplicated the issue in webrtc because that's where magic needs to happen.
Labels: -M-69

Sign in to add a comment