-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
html: Update the media player state without delays #40898
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
e22f1c6 to
d7e510b
Compare
|
🔨 Triggering try run (#19699271335) for Linux (WPT) |
|
Test results for linux-wpt from try job (#19699271335): Flaky unexpected result (38)
Stable unexpected results that are known to be intermittent (29)
|
|
✨ Try run (#19699271335) succeeded. |
Currently the sequence order of the DOM method calls and the media player API calls is mismatched because some media player operations (*) posted to media task with delayed processing (while should be processed immediately). - DOM (script): pause -> seek -> play - Media: seek -> pause* -> play* Also the associated queued media events can be fired and processed by script somehow (e.g. by calling `seek` in event listener handler) even before the calling of the media player `play/pause` API. To handle it the application will try to update media state (by calling media player API) on each DOM `play, pause` method calls and on some `ready state` changes with checking if the media element can be potencially playing. See https://html.spec.whatwg.org/multipage/#potentially-playing Testing: No expected testing results changes because there are unexpected `seek completion` signals from the media engine with invalid time positions which are affecting passing test score (by masking false positive results). https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4762 Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
d7e510b to
14ff8f0
Compare
TimvdLippe
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would have expected some WPT tests to start passing, or at least some test impact. I guess it's good that things are stable, so approving as such. Do make sure that, if there is user visible impact, we cover such cases with tests.
Currently the sequence order of the DOM method calls and the media player API calls is mismatched because some media player operations (*) posted to media task with delayed processing (while should be processed immediately).
Also the associated queued media events can be fired and processed by script somehow (e.g. by calling
seekin event listener handler) even before the calling of the media playerplay/pauseAPI.To handle it the application will try to update media state (by calling media player API) on each DOM
play, pausemethod calls and on someready statechanges with checking if the media element can be potencially playing.See https://html.spec.whatwg.org/multipage/#potentially-playing
Testing: No expected testing results changes because there are unexpected
seek completionsignals from the media engine with invalid time positions which are affecting passing test score (by masking false positive results).https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4762