Skip to content
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

Add state setters to MediaSourceAttachment (C25) #4104

Merged

Conversation

at-ninja
Copy link
Contributor

In preparation for cross-thread MediaSource objects, a small amount of state and associated setters are being added to the MediaSourceAttachment interface. This will allow for a push model, instead of a pull model, for state such as recent media timestamps, and the error status of the HTMLMediaElement.

Usage of these setters is gated through the
"MediaElement.EnableUsingMediaSourceAttachmentMethods" H5VCC flag. This flag needs to be coordinated between a HTMLMediaElement, the attached MediaSource, and all SourceBuffers used. As such, the value of the flag when the HTMLMediaElement was created is used to coordinate the state of the rest of the related objects. This prevents a flag mismatch, such as if the H5VCC value is updated after the HTMLMediaElement has been created but before the MediaSource is created.

This is based off of the following Chromium changes:

https://chromium-review.googlesource.com/c/chromium/src/+/2391934
https://chromium-review.googlesource.com/c/chromium/src/+/2401808

b/338425449

In preparation for cross-thread MediaSource objects, a small amount of
state and associated setters are being added to the
MediaSourceAttachment interface. This will allow for a push model,
instead of a pull model, for state such as recent media timestamps, and
the error status of the HTMLMediaElement.

Usage of these setters is gated through the
`"MediaElement.EnableUsingMediaSourceAttachmentMethods"` H5VCC flag.
This flag needs to be coordinated between a `HTMLMediaElement`, the
attached `MediaSource`, and all `SourceBuffers` used. As such, the value
of the flag when the `HTMLMediaElement` was created is used to coordinate
the state of the rest of the related objects. This prevents a flag
mismatch, such as if the H5VCC value is updated after the `HTMLMediaElement`
has been created but before the `MediaSource` is created.

This is based off of the following Chromium changes:

*  https://chromium-review.googlesource.com/c/chromium/src/+/2391934
*  https://chromium-review.googlesource.com/c/chromium/src/+/2401808

b/338425449
@at-ninja at-ninja merged commit 6f2089c into youtube:25.lts.1+ Sep 27, 2024
300 of 301 checks passed
@at-ninja at-ninja deleted the media-source-attachment-callbacks-25 branch October 16, 2024 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants