Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Intent to Ship: Deprecate asynchronous range removal for Media Source Extensions

151 views
Skip to first unread message

Chromestatus

unread,
May 13, 2025, 12:44:17 PMMay 13
to blin...@chromium.org, dalec...@chromium.org

Contact emails

dalec...@chromium.org

Explainer

None

Specification

https://w3c.github.io/media-source

Summary

The Media Source standard long ago changed to disallow ambiguously defined behavior involving asynchronous range removals: * SourceBuffer.abort() no longer aborts SourceBuffer.remove() operations * Setting MediaSource.duration can no longer truncate currently buffered media Exceptions will be thrown in both of these cases now. Safari and Firefox have long shipped this behavior, Chromium is the last browser remaining with the old behavior. Use counters show ~0.001%-0.005% of page loads hit the deprecated behavior. Primarily small Russian sites. If a site hits this issue, playback may now break. Usage of abort() cancelling removals is increasing, so it's prudent to resolve this deprecation before more incompatible usage appears.



Blink component

Internals>Media>Source

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

Safari and Firefox have long shipped this behavior, Chromium is the last browser remaining with the old behavior. Use counters show ~0.001%-0.005% of page loads hit the deprecated behavior. Primarily small Russian sites. If a site hits this issue, playback may now break.



Gecko: Shipped/Shipping (https://searchfox.org/mozilla-central/rev/e703d3fbd6da82cdda1256016a80abb1f245fedd/dom/media/mediasource/MediaSource.cpp#666) Ships both abort() and setDuration() restrictions.

WebKit: Shipped/Shipping (https://github.com/WebKit/WebKit/blob/1afe2bf63106ce2c22fe78926d629780c2b6fd6a/Source/WebCore/Modules/mediasource/MediaSource.cpp#L732) Ships both abort() and setDuration() restrictions.

Web developers: No signals Bug has 25 +1s so developers are hitting this discrepancy, but no direct feedback.

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

Yes. WebView based players using Media Source Extensions will be affected.



Debuggability

Clear exceptions are thrown when this issue occurs.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

Yes

Is this feature fully tested by web-platform-tests?

Yes

https://wpt.fyi/results/media-source/mediasource-duration.html https://wpt.fyi/results/media-source/mediasource-remove.html



Flag name on about://flags

MediaSourceNewAbortAndDuration

Finch feature name

MediaSourceNewAbortAndDuration

Rollout plan

Will ship enabled for all users

Requires code in //chrome?

False

Tracking bug

https://issues.chromium.org/issues/40474569

Measurement

https://chromestatus.com/metrics/feature/timeline/popularity/1428 (0.004970% of page loads) https://chromestatus.com/metrics/feature/timeline/popularity/1429 (0.001454% of page loads) Usage of abort() cancelling removals is increasing, so it's prudent to resolve this deprecation before more incompatible usage appears.

Estimated milestones

Shipping on desktop 138
Shipping on Android 138
Shipping on WebView 138


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5190983595327488?gate=5206078123671552

This intent message was generated by Chrome Platform Status.

Daniel Bratell

unread,
May 13, 2025, 1:58:12 PMMay 13
to Chromestatus, blin...@chromium.org, dalec...@chromium.org

Do you just want to deprecate it (i.e. add some warning when used) or do you want to do the change right away? Doing the change right away seems reasonable.

/Daniel

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/682376d1.170a0220.2aa17e.00d4.GAE%40google.com.

Dale Curtis

unread,
May 13, 2025, 2:31:16 PMMay 13
to Daniel Bratell, Chromestatus, blin...@chromium.org
The plan is to land the change right away given the low usage and long shipped state on other UAs.

- dale

Daniel Bratell

unread,
May 13, 2025, 3:11:38 PMMay 13
to Dale Curtis, Chromestatus, blin...@chromium.org

LGTM1 to change the behaviour.

/Daniel

Chris Harrelson

unread,
May 14, 2025, 11:10:39 AMMay 14
to Daniel Bratell, Dale Curtis, Chromestatus, blin...@chromium.org

Philip Jägenstedt

unread,
May 14, 2025, 11:16:32 AMMay 14
to Chris Harrelson, Daniel Bratell, Dale Curtis, Chromestatus, blin...@chromium.org
LGTM3, and we have a feature flag / kill switch if this breaks something more than expected.

Reply all
Reply to author
Forward
0 new messages