Enable Media Source Extensions (MSE) API usage from DedicatedWorker contexts to enable improved performance of buffering media for playback by an HTMLMediaElement on the main Window context. By creating a MediaSource object on a DedicatedWorker context, an application may then create an ObjectURL for it and postMessage that URL to the main thread for use in attaching to an HTMLMediaElement. The context that created the MediaSource object may then use it to buffer media.

Motivation

Web authors have consistently requested that MSE be available from Worker contexts. In the absence of such mechanisms, web authors are forced to perform all operations on the MSE API on the main Window context. Especially when the main context is busy servicing other application logic, these restrictions can significantly impair the user experience. For example, even if an app uses Worker contexts to fetch media to feed to MSE, such feeding must still occur on the main context, resulting in delayed media playback start and recurring playback stalls in extreme cases when the playback reaches points in the presentation timeline for which the app has been unable to buffer enough media. The original proposal included text to support "early open" using a new MediaSourceHandle object. The subsequent discussion, simplification and experimental implementation drop "early open" and MediaSourceHandle from this initial work since those are both significant complexities that can be decoupled and incubated in follow-on features.

Demo

Status in Chromium

Blink>Media


In developer trial (Behind a flag) (tracking bug) in:

  • Chrome for desktop release 88
  • Chrome for Android release 88

Consensus & Standardization

After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.

  • No signal
  • No signal
  • No signal
  • No signals

Owner

Intent to Prototype url

Intent to Prototype thread

Comments

Incubation started under previous process (via intent-to-implement without a chromestatus entry requirement at the time). Preparing to enter origin trials now.

Search tags

MSE, MediaSource, MediaSourceExtensions,

Last updated on 2021-05-05