html: Support releasing of <media> underlying resources and frames#40316
Merged
jdm merged 1 commit intoservo:mainfrom Nov 5, 2025
Merged
html: Support releasing of <media> underlying resources and frames#40316jdm merged 1 commit intoservo:mainfrom
jdm merged 1 commit intoservo:mainfrom
Conversation
|
🔨 Triggering try run (#18975753097) for Linux (WPT) |
|
Test results for linux-wpt from try job (#18975753097): Flaky unexpected result (22)
Stable unexpected results that are known to be intermittent (16)
|
|
✨ Try run (#18975753097) succeeded. |
The HTMLMediaElement should stop playback of any previously
playing media resource on running media element loading
algorithm or before attempt to load next source child.
This step will reset media player (including release of the
underlying media resources and media frames from the video renderer).
The closure for marshalling the incoming GLPLayer messages
from ROUTER ("router-proxy") thread to script thread will use
Weak<MediaFrameRenderer> instead of Trusted<HTMLMediaElement>
to break circular references dependency (decouple ownership).
The media frame renderer will track the media player id
to be able ignore async locking render call with new frame
after playback of any previously playing media was stopped.
Testing: No WPT test expectation changes
Fixes (partially): servo#40243
Fixes (partially): servo#40265
Fixes: servo#37173
Signed-off-by: Andrei Volykhin <[email protected]>
b183261 to
57d2160
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The HTMLMediaElement should stop playback of any previously playing media resource on running media element loading algorithm or before attempt to load next source child.
This step will reset media player (including release of the underlying media resources and media frames from the video renderer).
The closure for marshalling the incoming GLPLayer messages from ROUTER ("router-proxy") thread to script thread will use
Weak<MediaFrameRenderer>instead ofTrusted<HTMLMediaElement>to break circular references dependency (decouple ownership).The media frame renderer will track the media player id to be able ignore async locking render call with new frame after playback of any previously playing media was stopped.
Testing: No WPT test expectation changes
Fixes (partially): #40243
Fixes (partially): #40265
Fixes: #37173