Closed Bug 1225722 Opened 9 years ago Closed 2 years ago

Implement RTCCodecStats

Categories

(Core :: WebRTC, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
98 Branch
Tracking Status
firefox98 --- fixed

People

(Reporter: pehrsons, Assigned: pehrsons)

References

(Blocks 5 open bugs)

Details

Attachments

(22 files, 1 obsolete file)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
We have the WebIDL for RTCCodecStats but it's not being populated. In the spec [1] it has changed name to RTCCodec and I can't see how one would get its hands on an instance of RTCCodec, but when that's defined we should implement it.

[1] https://w3c.github.io/webrtc-stats/archives/20151023/webrtc-stats.html#dictionary-rtccodec-members
(In reply to Andreas Pehrson [:pehrsons] (Telenor) from comment #0)
> I can't see how one would get its hands on an instance of RTCCodec

Nvm, it at least says in webrtc-pc [2] that it'll be top-level in the returned dict.

[2] https://w3c.github.io/webrtc-pc/archives/20151006/webrtc.html#idl-def-RTCStatsReport
Blocks: webrtc_spec
backlog: --- → webrtc/webaudio+
Rank: 25
Priority: -- → P2
Mass change P2->P3 to align with new Mozilla triage process.
Priority: P2 → P3
Assignee: nobody → apehrson
Severity: normal → N/A
Status: NEW → ASSIGNED
Type: defect → enhancement
Rank: 25
Priority: P3 → P2
Depends on: 1745707

This allows us to round up codec, receiver and sender stats from within the same
loop (over transceivers).

This patch has two goals:

  • In RTCStatsIdGenerator::RewriteIds avoid having to write a lambda for each
    stat dict member that can be an id
  • Have a single place in C++-land that explicitly lists public and internal
    RTCStatsCollection members, to reduce the number of locations that need
    updating when adding new stats.

This is mainly to avoid repeating the default parameters throughout the tree.

Blocks: 1751671
Attachment #9258898 - Attachment description: Bug 1225722 - Wire up RTCCodecStats from GetStats into TransceiverImpl. r?jib!, r?bwc! → Bug 1225722 - Wire up RTCCodecStats from GetStats. r?jib!, r?bwc!
Attachment #9258901 - Attachment description: Bug 1225722 - Populate RTCCodecStats. r?jib!, r?bwc! → Bug 1225722 - Populate and coalesce RTCCodecStats to transport-level. r?jib!, r?bwc!
Attachment #9261067 - Attachment is obsolete: true
Pushed by jbruaroey@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3ec4aee8e9a4
Test RTCCodecStats in stats.js. r=jib
https://hg.mozilla.org/integration/autoland/rev/cdbd947566bc
Add mochitest for one-way stats in order to test RTCCodecType. r=jib
https://hg.mozilla.org/integration/autoland/rev/370bdfb76ac7
Test RTCCodecStats in test_pc_videoCodecs.html to verify payloadTypes. r=jib
https://hg.mozilla.org/integration/autoland/rev/a75366a4ea6c
Test RTCCodecStats coalescing in mochitest. r=jib
https://hg.mozilla.org/integration/autoland/rev/f394081bcd09
Test RTCCodecStats NOT coalescing in mochitest. r=jib
https://hg.mozilla.org/integration/autoland/rev/8e2392662557
Move DataChannelStats to non-internal section in webidl. r=jib,webidl,smaug
https://hg.mozilla.org/integration/autoland/rev/8015aa7f593b
Add RTCCodecStats webidl. r=jib,webidl,smaug
https://hg.mozilla.org/integration/autoland/rev/f2e78d88e87f
jsep_track_unittest: Only log sdp and codecs on failure. r=bwc
https://hg.mozilla.org/integration/autoland/rev/bfd29442ed2f
Make the MediaType in JsepCodecDescription instances static. r=bwc
https://hg.mozilla.org/integration/autoland/rev/d8231354d400
Create JsepCodecDescription instances through factory methods. r=bwc
https://hg.mozilla.org/integration/autoland/rev/ab3da5998395
Add sdpFmtpLine to JsepCodecDescription. r=bwc
https://hg.mozilla.org/integration/autoland/rev/9bd71989a943
Add StatsId() to JsepCodecDescription. r=bwc
https://hg.mozilla.org/integration/autoland/rev/e928fcf303ab
Make PeerConnectionImpl::GetSenderStats take a TransceiverImpl. r=bwc
https://hg.mozilla.org/integration/autoland/rev/79e8569a7cb8
Modularize RTCStatsIdGenerator::RewriteIds somewhat. r=bwc
https://hg.mozilla.org/integration/autoland/rev/dad900244739
Wire up RTCCodecStats from GetStats. r=bwc,jib
https://hg.mozilla.org/integration/autoland/rev/bfeee66fdda5
Generalize some stats helpers with parameter expansion. r=bwc
https://hg.mozilla.org/integration/autoland/rev/e37cfe95a439
Implement getters in the conduits for currently active payload types. r=bwc
https://hg.mozilla.org/integration/autoland/rev/2dea88c02e3f
Constify some JsepSessionImpl getters. r=bwc
https://hg.mozilla.org/integration/autoland/rev/174d81cefb2c
Populate and coalesce RTCCodecStats to transport-level. r=bwc,jib
https://hg.mozilla.org/integration/autoland/rev/6ddab7982ef5
Filter codec stats based on selectors and active payload types. r=bwc,jib
https://hg.mozilla.org/integration/autoland/rev/7c8e0d60d269
Update WPT expectations. r=jib
https://hg.mozilla.org/integration/autoland/rev/c0ea85240e32
Less restrictive non-memmovable static analysis of std::tuple. r=nika
Regressions: 1753938
Blocks: teams
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: