Closed Bug 1854236 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 41979 - [Track Stats] Implement the stats cache.

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox120 fixed)

RESOLVED FIXED
120 Branch
Tracking Status
firefox120 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 41979 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/41979
Details from upstream follow.

Henrik Boström <hbos@chromium.org> wrote:

[Track Stats] Implement the stats cache.

This CL makes it so that stats are only updated if this is the first
time in the task execution cycle that the getters are invoked,
preserving JS run-to-completion semantics, and otherwise returns
cached values.

This CL also moves the responsibility of maybe-updating into the
MediaStreamTrackVideoStats interface. This allows keeping direct
references to the stats object and calling videoStats.totalFrames etc
directly without first calling track.videoStats, as was previously
required (a bug).

WPTs for both features are added.

Bug: chromium:1472978
Change-Id: I8f2cddbb9b9d4a1a8ff5c3b11b22ea6613de2084
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4865101
Reviewed-by: Tony Herre \<toprice@chromium.org>
Reviewed-by: Harald Alvestrand \<hta@chromium.org>
Commit-Queue: Henrik Boström \<hbos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1198917}

PR 41979 applied with additional changes from upstream: 63520d4858916a11cd5b32ae11484495ee72cd01

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests and 14 subtests

Status Summary

Firefox

OK : 1
FAIL: 13[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt] 14[GitHub]

Chrome

OK : 1
FAIL: 14

Safari

OK : 1
FAIL: 14

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /mediacapture-extensions/MediaStreamTrack-video-stats.https.html [wpt.fyi]
    • totalFrames increases over time: FAIL (Chrome: FAIL, Safari: FAIL)
    • deliveredFrames increases, even without sinks: FAIL (Chrome: FAIL, Safari: FAIL)
    • discardedFrames increases when frameRate decimation is happening: FAIL (Chrome: FAIL, Safari: FAIL)
    • Counters increase even if we don't call the track.videoStats getter: FAIL (Chrome: FAIL, Safari: FAIL)
    • Counters do not increase in the same task execution cycle: FAIL (Chrome: FAIL, Safari: FAIL)
    • totalFrames is the sum of deliveredFrames and discardedFrames: FAIL (Chrome: FAIL, Safari: FAIL)
    • SameObject policy applies: FAIL (Chrome: FAIL, Safari: FAIL)
    • Stats are frozen while disabled: FAIL (Chrome: FAIL, Safari: FAIL)
    • Disabling and re-enabling does not reset the counters: FAIL (Chrome: FAIL, Safari: FAIL)
    • New stats baselines when a track is cloned from a disabled track: FAIL (Chrome: FAIL, Safari: FAIL)
    • New stats baselines when a track is cloned from an enabled track: FAIL (Chrome: FAIL, Safari: FAIL)
    • New stats baselines for the clone of a clone: FAIL (Chrome: FAIL, Safari: FAIL)
    • getFrameStats throws on audio tracks: FAIL (Chrome: FAIL, Safari: FAIL)
    • A low FPS clone does not affect the original track's discardedFrames: FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by csabou@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/bc20c00b3710 [wpt PR 41979] - [Track Stats] Implement the stats cache., a=testonly https://hg.mozilla.org/mozilla-central/rev/c9a303f95a47 [wpt PR 41979] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 120 Branch
You need to log in before you can comment on or make changes to this bug.