Closed Bug 1767499 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 33915 - MSE-in-Workers: Enable explicit durationchange before HAVE_METADATA

Categories

(Core :: Audio/Video: Playback, task, P4)

task

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox102 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Matt Wolenetz <wolenetz@chromium.org> wrote:

MSE-in-Workers: Enable explicit durationchange before HAVE_METADATA

Once the media player has reached at least HAVE_METADATA, the pipeline
will service MSE-attached media element's player duration queries from
the MediaSource's current duration. However, before reaching
HAVE_METADATA, any explicit change of MediaSource duration by the app
needs special handling to let the attached media element know the
updated duration.

This change fixes the MSE-in-Workers implementation to explicitly notify
the media element of application's explicit duration update if such
update's delivery in a cross-thread-task posted to the media element's
context finds that the media element's readyState is HAVE_NOTHING. This
mimics existing SameThreadMediaSourceAttachment functionality while
maintaining the high-resolution timer mitigations in
CrossThreadMediaSourceAttachment.

BUG=1318634,878133

Change-Id: If8e47959a4267a6891edfc883e657613c8182709
Reviewed-on: https://chromium-review.googlesource.com/3611185
WPT-Export-Revision: 891bd6d8bd0a7eb6081b949dcc3a489b6b6b7607

Component: web-platform-tests → Audio/Video: Playback
Product: Testing → Core

CI Results

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

Total 5 tests and 1 subtests

Status Summary

Firefox

OK : 5
PASS : 1
FAIL : 48

Chrome

OK : 4
PASS : 51
TIMEOUT: 2

Safari

OK : 5
PASS : 1
FAIL : 48

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /media-source/dedicated-worker/mediasource-worker-detach-element.html [wpt.fyi]
    • Test element detachment from worker MediaSource after at least 0 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 1 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 2 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 3 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 4 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 0 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 1 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 2 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 3 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 4 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 0 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 1 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 2 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 3 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 4 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: PASS, Safari: FAIL)
  • /media-source/dedicated-worker/mediasource-worker-duration.html [wpt.fyi]
    • Test worker MediaSource duration updates before and after HAVE_METADATA: FAIL (Chrome: TIMEOUT, Safari: FAIL)
  • /media-source/dedicated-worker/mediasource-worker-objecturl.html [wpt.fyi]
    • Test main context revocation of DedicatedWorker MediaSource object URL: FAIL (Chrome: PASS, Safari: FAIL)
  • /media-source/dedicated-worker/mediasource-worker-play-terminate-worker.html [wpt.fyi]
    • Test worker MediaSource termination after at least 0 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 1 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 2 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 3 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 4 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 5 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 6 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 7 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 8 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 9 main thread setTimeouts, starting counting before setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 0 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 1 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 2 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 3 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 4 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 5 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 6 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 7 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 8 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 9 main thread setTimeouts, starting counting after setting src: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 0 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 1 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 2 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 3 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 4 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 5 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 6 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 7 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 8 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 9 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: PASS, Safari: FAIL)
  • /media-source/dedicated-worker/mediasource-worker-play.html [wpt.fyi]
    • Test worker MediaSource construction, attachment, buffering and basic playback: FAIL (Chrome: PASS, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6871c2b7be7b [wpt PR 33915] - MSE-in-Workers: Enable explicit durationchange before HAVE_METADATA, a=testonly https://hg.mozilla.org/integration/autoland/rev/595e11705f88 [wpt PR 33915] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch
You need to log in before you can comment on or make changes to this bug.