New issue
Advanced search Search tips

Issue 657854 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue webrtc:7065
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug


Sign in to add a comment

RTCPeerConnection.getStats: RTCRTPStreamStats

Project Member Reported by hbos@chromium.org, Oct 20 2016

Issue description

Add RTCRTPStreamStats and all of its members.
https://w3c.github.io/webrtc-stats/#streamstats-dict*

Only returned in one of its child forms, RTCOutboundRTPStreamStats or RTCInboundRTPStreamStats.
https://w3c.github.io/webrtc-stats/#inboundrtpstats-dict*
https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*

dictionary RTCRTPStreamStats : RTCStats {
    DOMString          ssrc;
    DOMString          associateStatsId;
    boolean            isRemote = false;
    DOMString          mediaType;
    DOMString          mediaTrackId;
    DOMString          transportId;
    DOMString          codecId;
    unsigned long      firCount;
    unsigned long      pliCount;
    unsigned long      nackCount;
    unsigned long      sliCount;
    unsigned long long qpSum;  // Since 14 December 2016 Draft
};

 

Comment 1 by hbos@chromium.org, Oct 20 2016

Components: Blink>WebRTC

Comment 2 by hbos@chromium.org, Oct 20 2016

Blocking: 657855

Comment 3 by hbos@chromium.org, Oct 20 2016

Blocking: 657856

Comment 4 by hbos@chromium.org, Oct 25 2016

Blockedon: 659117

Comment 5 by hbos@chromium.org, Oct 25 2016

Blockedon: 659137
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 31 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29

commit 69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29
Author: hbos <hbos@webrtc.org>
Date: Mon Oct 31 21:48:26 2016

RTCOutboundRTPStreamStats[1] added.

This also adds RTCRTPStreamStats[2] which it derives from. Not all stats
are supported in this CL, this must be addressed before closing the
issue.

RTCStatsReport also gets a timestamp and ToString.

[1] https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*
[2] https://w3c.github.io/webrtc-stats/#streamstats-dict*

BUG= chromium:627816 ,  chromium:657856 ,  chromium:657854 

Review-Url: https://codereview.webrtc.org/2456463002
Cr-Commit-Position: refs/heads/master@{#14860}

[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/api/rtcstatscollector.cc
[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/api/rtcstatscollector.h
[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/api/rtcstatscollector_unittest.cc
[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/api/stats/rtcstats.h
[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/api/stats/rtcstats_objects.h
[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/api/stats/rtcstatsreport.h
[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/stats/rtcstats.cc
[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/stats/rtcstats_objects.cc
[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/stats/rtcstatsreport.cc
[modify] https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29/webrtc/stats/rtcstatsreport_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/4ed075034a676aad8ec9d65444cb914d4a20b3af

commit 4ed075034a676aad8ec9d65444cb914d4a20b3af
Author: perkj <perkj@webrtc.org>
Date: Tue Nov 01 06:50:53 2016

Revert of RTCInboundRTPStreamStats added. (patchset #4 id:100001 of https://codereview.webrtc.org/2452043002/ )

Reason for revert:
Dependend cl Breaks Chrome FYI.
peerconnection_unittest anropar RTCStatsReport::Create without  parameters.

Original issue's description:
> RTCInboundRTPStreamStats[1] added.
>
> Not all stats are collected in this CL, this must be addressed before
> closing the issue.
>
> [1] https://w3c.github.io/webrtc-stats/#inboundrtpstats-dict*
>
> BUG= chromium:627816 ,  chromium:657855 ,  chromium:657854 
>
> Committed: https://crrev.com/0d7bf169402ea9345d163998f4f7df89229ac470
> Cr-Commit-Position: refs/heads/master@{#14861}

TBR=hta@webrtc.org,deadbeef@webrtc.org,hbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= chromium:627816 ,  chromium:657855 ,  chromium:657854 

Review-Url: https://codereview.webrtc.org/2470683002
Cr-Commit-Position: refs/heads/master@{#14862}

[modify] https://crrev.com/4ed075034a676aad8ec9d65444cb914d4a20b3af/webrtc/api/rtcstatscollector.cc
[modify] https://crrev.com/4ed075034a676aad8ec9d65444cb914d4a20b3af/webrtc/api/rtcstatscollector.h
[modify] https://crrev.com/4ed075034a676aad8ec9d65444cb914d4a20b3af/webrtc/api/rtcstatscollector_unittest.cc
[modify] https://crrev.com/4ed075034a676aad8ec9d65444cb914d4a20b3af/webrtc/api/stats/rtcstats_objects.h
[modify] https://crrev.com/4ed075034a676aad8ec9d65444cb914d4a20b3af/webrtc/stats/rtcstats_objects.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec

commit 7eaa83622b19c7afa80139d3261e6bfbe2cae6ec
Author: perkj <perkj@webrtc.org>
Date: Tue Nov 01 06:52:25 2016

Revert of RTCOutboundRTPStreamStats added. (patchset #3 id:80001 of https://codereview.webrtc.org/2456463002/ )

Reason for revert:
Breaks Chrome FYI.
peerconnection_unittest calls RTCStatsReport::Create without  parameters.

Original issue's description:
> RTCOutboundRTPStreamStats[1] added.
>
> This also adds RTCRTPStreamStats[2] which it derives from. Not all stats
> are supported in this CL, this must be addressed before closing the
> issue.
>
> RTCStatsReport also gets a timestamp and ToString.
>
> [1] https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*
> [2] https://w3c.github.io/webrtc-stats/#streamstats-dict*
>
> BUG= chromium:627816 ,  chromium:657856 ,  chromium:657854 
>
> Committed: https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29
> Cr-Commit-Position: refs/heads/master@{#14860}

TBR=hta@webrtc.org,deadbeef@webrtc.org,hbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= chromium:627816 ,  chromium:657856 ,  chromium:657854 

Review-Url: https://codereview.webrtc.org/2465223002
Cr-Commit-Position: refs/heads/master@{#14863}

[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/api/rtcstatscollector.cc
[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/api/rtcstatscollector.h
[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/api/rtcstatscollector_unittest.cc
[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/api/stats/rtcstats.h
[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/api/stats/rtcstats_objects.h
[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/api/stats/rtcstatsreport.h
[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/stats/rtcstats.cc
[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/stats/rtcstats_objects.cc
[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/stats/rtcstatsreport.cc
[modify] https://crrev.com/7eaa83622b19c7afa80139d3261e6bfbe2cae6ec/webrtc/stats/rtcstatsreport_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/6ded19086432b395a85c9a0206fa8a3bc6d33caf

commit 6ded19086432b395a85c9a0206fa8a3bc6d33caf
Author: hbos <hbos@webrtc.org>
Date: Tue Nov 01 08:50:46 2016

RTCOutboundRTPStreamStats[1] added.

This also adds RTCRTPStreamStats[2] which it derives from. Not all stats
are supported in this CL, this must be addressed before closing the
issue.

RTCStatsReport also gets a timestamp and ToString.

[1] https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*
[2] https://w3c.github.io/webrtc-stats/#streamstats-dict*

  This was previously reverted https://codereview.webrtc.org/2465223002/
  because RTCStatsReport::Create added a new parameter not used by
  Chromium unittests. Temporarily added a default value to the argument
  to be removed after rolling and updating Chromium.

BUG= chromium:627816 ,  chromium:657856 ,  chromium:657854 
TBR=deadbeef@webrtc.org

Review-Url: https://codereview.webrtc.org/2470703002
Cr-Commit-Position: refs/heads/master@{#14866}

[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/api/rtcstatscollector.cc
[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/api/rtcstatscollector.h
[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/api/rtcstatscollector_unittest.cc
[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/api/stats/rtcstats.h
[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/api/stats/rtcstats_objects.h
[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/api/stats/rtcstatsreport.h
[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/stats/rtcstats.cc
[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/stats/rtcstats_objects.cc
[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/stats/rtcstatsreport.cc
[modify] https://crrev.com/6ded19086432b395a85c9a0206fa8a3bc6d33caf/webrtc/stats/rtcstatsreport_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/820f578f2bb3585cc48876fa9e594a6a6b0dd174

commit 820f578f2bb3585cc48876fa9e594a6a6b0dd174
Author: hbos <hbos@webrtc.org>
Date: Tue Nov 22 11:16:50 2016

RTCInboundRTPStreamStats's [fir/pli/nack]_count are collected for video.

Previously this was only collected for RTCOutboundRTPStreamStats video,
with no comment saying it was missing for Inbound. (nack_count should be
collected vor audio as well but this is currently not available - there
is already an existing comment about this in rtcstats_objects.h.)

BUG= chromium:657855 ,  chromium:657854 ,  chromium:627816 

Review-Url: https://codereview.webrtc.org/2515293002
Cr-Commit-Position: refs/heads/master@{#15185}

[modify] https://crrev.com/820f578f2bb3585cc48876fa9e594a6a6b0dd174/webrtc/api/rtcstatscollector.cc
[modify] https://crrev.com/820f578f2bb3585cc48876fa9e594a6a6b0dd174/webrtc/api/rtcstatscollector_unittest.cc

Comment 14 by hbos@webrtc.org, Nov 23 2016

Blockedon: webrtc:6758

Comment 15 by hbos@webrtc.org, Dec 8 2016

Blockedon: webrtc:5121

Comment 16 by hbos@chromium.org, Dec 21 2016

Description: Show this description
Project Member

Comment 17 by bugdroid1@chromium.org, Jan 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/6769c4941817ac3d5b967d0aafa1304c06d0672e

commit 6769c4941817ac3d5b967d0aafa1304c06d0672e
Author: hbos <hbos@webrtc.org>
Date: Mon Jan 02 16:35:13 2017

RTC[In/Out]boundRTPStreamStats: qpSum,framesDecoded,framesEncoded added.

Recently added to the spec:
RTCRTPStreamStats.qpSum - https://w3c.github.io/webrtc-stats/#dom-rtcrtpstreamstats-qpsum
RTCInboundRTPStreamStats.framesDecoded - https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-framesdecoded
RTCOutboundRTPStreamStats.framesEncoded - https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-framesencoded

These are added and collected. However, the qpSum is only collected in
the outbound case. It should be collected in the inbound case before
closing  crbug.com/657855 

BUG= chromium:657854 ,  chromium:657855 ,  chromium:657856 

Review-Url: https://codereview.webrtc.org/2588373005
Cr-Commit-Position: refs/heads/master@{#15872}

[modify] https://crrev.com/6769c4941817ac3d5b967d0aafa1304c06d0672e/webrtc/api/rtcstats_integrationtest.cc
[modify] https://crrev.com/6769c4941817ac3d5b967d0aafa1304c06d0672e/webrtc/api/rtcstatscollector.cc
[modify] https://crrev.com/6769c4941817ac3d5b967d0aafa1304c06d0672e/webrtc/api/rtcstatscollector_unittest.cc
[modify] https://crrev.com/6769c4941817ac3d5b967d0aafa1304c06d0672e/webrtc/api/stats/rtcstats_objects.h
[modify] https://crrev.com/6769c4941817ac3d5b967d0aafa1304c06d0672e/webrtc/stats/rtcstats_objects.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3a849d6f9efef1f90688ef3d11f8ca75618ac3a

commit a3a849d6f9efef1f90688ef3d11f8ca75618ac3a
Author: hbos <hbos@chromium.org>
Date: Mon Jan 02 16:43:12 2017

RTCPeerConnection.getStats: Whitelist updated after spec changed.

This is the whitelist used in the Chromium integration test.

New members:
- RTCRTPStreamStats.qpSum: https://w3c.github.io/webrtc-stats/#dom-rtcrtpstreamstats-qpsum
- RTCInboundRTPStreamStats.framesDecoded: https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-framesdecoded
- RTCOutboundRTPStreamStats.framesEncoded: https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-framesencoded
- RTCIceCandidateStats.transportId: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatestats-transportid
- RTCIceCandidateStats.isRemote: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatestats-isremote
- RTCIceCandidateStats.deleted: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatestats-deleted

Renamed members, removed old names (https://codereview.webrtc.org/2576383002/):
- RTCIceCandidatePairStats.totalRtt replaced by totalRoundTripTime: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-totalroundtriptime
- RTCIceCandidatePairStats.currentRtt replaced by currentRoundTripTime: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-currentroundtriptime

NOTRY=True
BUG= chromium:627816 ,  chromium:657854 ,  chromium:657855 ,  chromium:657856 ,  chromium:632723 

Review-Url: https://codereview.chromium.org/2590293004
Cr-Commit-Position: refs/heads/master@{#441073}

[modify] https://crrev.com/a3a849d6f9efef1f90688ef3d11f8ca75618ac3a/chrome/test/data/webrtc/peerconnection_getstats.js

Project Member

Comment 19 by bugdroid1@chromium.org, Jan 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/1f8239ca6f887ecb8c2c8347c00b5ac681e83c60

commit 1f8239ca6f887ecb8c2c8347c00b5ac681e83c60
Author: hbos <hbos@webrtc.org>
Date: Mon Jan 16 12:24:10 2017

TrackMediaInfoMap added.

This maps, in both directions, [Audio/Video]TrackInterface with
[Voice/Video][Sender/Receiver]Info.

This mapping is necessary for RTCStatsCollector to know the relationship
between RTCMediaStreamTrackStats and RTC[In/Out]boundRTPStreamStats, and
to be able to collect several RTCMediaStreamTrackStats stats.

BUG= webrtc:6757 ,  chromium:659137 ,  chromium:657854 ,  chromium:627816 

Review-Url: https://codereview.webrtc.org/2611983002
Cr-Commit-Position: refs/heads/master@{#16090}

[modify] https://crrev.com/1f8239ca6f887ecb8c2c8347c00b5ac681e83c60/webrtc/api/BUILD.gn
[add] https://crrev.com/1f8239ca6f887ecb8c2c8347c00b5ac681e83c60/webrtc/api/test/mock_rtpreceiver.h
[add] https://crrev.com/1f8239ca6f887ecb8c2c8347c00b5ac681e83c60/webrtc/api/test/mock_rtpsender.h
[add] https://crrev.com/1f8239ca6f887ecb8c2c8347c00b5ac681e83c60/webrtc/api/trackmediainfomap.cc
[add] https://crrev.com/1f8239ca6f887ecb8c2c8347c00b5ac681e83c60/webrtc/api/trackmediainfomap.h
[add] https://crrev.com/1f8239ca6f887ecb8c2c8347c00b5ac681e83c60/webrtc/api/trackmediainfomap_unittest.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Jan 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d28adf3696a330580b5fb705531322ca4f9f3297

commit d28adf3696a330580b5fb705531322ca4f9f3297
Author: hbos <hbos@chromium.org>
Date: Mon Jan 16 12:56:26 2017

RTCPeerConnection.getStats whitelist updated due to recent spec changes.

RTCRTPStreamStats.mediaTrackId renamed trackId: https://github.com/w3c/webrtc-stats/issues/113#issuecomment-271548836
RTCMediaStreamTrackStats.kind added: https://github.com/w3c/webrtc-stats/pull/127
RTCPeerConnectionStats.dataChannels[Opened/Closed/Requested/Accepted] added: https://github.com/w3c/webrtc-stats/pull/125/files
RTCTransportStats.activeConnection replaced by dtlsState: https://github.com/w3c/webrtc-stats/pull/122/files

BUG= chromium:657854 ,  chromium:659137 ,  chromium:679741 ,  chromium:653873 ,  chromium:627816 

Review-Url: https://codereview.chromium.org/2621733004
Cr-Commit-Position: refs/heads/master@{#443879}

[modify] https://crrev.com/d28adf3696a330580b5fb705531322ca4f9f3297/chrome/test/data/webrtc/peerconnection_getstats.js

Project Member

Comment 21 by bugdroid1@chromium.org, Jan 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/84abeb1d37ee27147674cd94a5606bd4ac725d9a

commit 84abeb1d37ee27147674cd94a5606bd4ac725d9a
Author: hbos <hbos@webrtc.org>
Date: Mon Jan 16 14:16:44 2017

RTC[In/Out]boundRTPStreamStats.mediaTrackId collected.

Based on the mapping between [Audio/Video]TrackInterface and
[Voice/Video][Sender/Receiver]Info.

The IDs of RTCMediaStreamTrackStats are updated to distinguish between
local and remote cases. Previously, if local and remote cases had the
same label only one of them would be included in the report (bug).

BUG= webrtc:6758 ,  chromium:657854 ,  chromium:657855 ,  chromium:657856 ,  chromium:627816 

Review-Url: https://codereview.webrtc.org/2610843003
Cr-Commit-Position: refs/heads/master@{#16095}

[modify] https://crrev.com/84abeb1d37ee27147674cd94a5606bd4ac725d9a/webrtc/api/rtcstats_integrationtest.cc
[modify] https://crrev.com/84abeb1d37ee27147674cd94a5606bd4ac725d9a/webrtc/api/rtcstatscollector.cc
[modify] https://crrev.com/84abeb1d37ee27147674cd94a5606bd4ac725d9a/webrtc/api/rtcstatscollector.h
[modify] https://crrev.com/84abeb1d37ee27147674cd94a5606bd4ac725d9a/webrtc/api/rtcstatscollector_unittest.cc
[modify] https://crrev.com/84abeb1d37ee27147674cd94a5606bd4ac725d9a/webrtc/api/stats/rtcstats_objects.h
[modify] https://crrev.com/84abeb1d37ee27147674cd94a5606bd4ac725d9a/webrtc/api/statscollector_unittest.cc
[modify] https://crrev.com/84abeb1d37ee27147674cd94a5606bd4ac725d9a/webrtc/api/test/mock_peerconnection.h

Comment 22 by hbos@chromium.org, Jan 26 2017

Mergedinto: webrtc:7065
Status: Duplicate (was: Started)
This stats dictionary is partially supported (see landed CLs in this thread).
To better track what's left, a webrtc bug has been created to track the remaining work related to this dictionary - merging into that one.

This is split up into two bugs, one for the RTCInboundRTPStreamStats case (https://bugs.chromium.org/p/webrtc/issues/detail?id=7065) and one for the RTCOutboundRTPStreamStats case (https://bugs.chromium.org/p/webrtc/issues/detail?id=7066).

Sign in to add a comment