Add state setters to MediaSourceAttachment (C25) #4104
Merged
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.
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