[wpt-sync] Sync PR 33915 - MSE-in-Workers: Enable explicit durationchange before HAVE_METADATA
Categories
(Core :: Audio/Video: Playback, task, P4)
Tracking
()
| 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
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
| Assignee | ||
Comment 2•3 years ago
|
||
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)
- Test element detachment from worker MediaSource after at least 0 main thread setTimeouts, starting counting after setting src:
- /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)
- Test worker MediaSource duration updates before and after HAVE_METADATA:
- /media-source/dedicated-worker/mediasource-worker-objecturl.html [wpt.fyi]
- Test main context revocation of DedicatedWorker MediaSource object URL:
FAIL(Chrome:PASS, Safari:FAIL)
- Test main context revocation of DedicatedWorker MediaSource object URL:
- /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)
- Test worker MediaSource termination after at least 0 main thread setTimeouts, starting counting before setting src:
- /media-source/dedicated-worker/mediasource-worker-play.html [wpt.fyi]
- Test worker MediaSource construction, attachment, buffering and basic playback:
FAIL(Chrome:PASS, Safari:FAIL)
- Test worker MediaSource construction, attachment, buffering and basic playback:
https://hg.mozilla.org/mozilla-central/rev/6871c2b7be7b
https://hg.mozilla.org/mozilla-central/rev/595e11705f88
Description
•