W3cubDocs

/DOM

MediaSource.readyState

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The readyState read-only property of the MediaSource interface returns an enum representing the state of the current MediaSource. The three possible values are:

  • closed: The source is not currently attached to a media element.
  • open: The source is attached to a media element and ready to receive SourceBuffer objects.
  • ended: The source is attached to a media element but the stream has been ended via a call to MediaSource.endOfStream().

Syntax

var myReadyState = mediaSource.readyState;

Value

A DOMString.

Example

The following snippet is from a simple example written by Nick Desaulniers (view the full demo live, or download the source for further investigation.)

if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) {
  var mediaSource = new MediaSource;
  //console.log(mediaSource.readyState); // closed
  video.src = URL.createObjectURL(mediaSource);
  mediaSource.addEventListener('sourceopen', sourceOpen);
} else {
  console.error('Unsupported MIME type or codec: ', mimeCodec);
}

function sourceOpen (_) {
  //console.log(this.readyState); // open
  var mediaSource = this;
  var sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
  fetchAB(assetURL, function (buf) {
    sourceBuffer.addEventListener('updateend', function (_) {
      mediaSource.endOfStream();
      video.play();
      //console.log(mediaSource.readyState); // ended
    });
    sourceBuffer.appendBuffer(buf);
  });
};

Specifications

Specification Status Comment
Media Source Extensions
The definition of 'readyState' in that specification.
Recommendation Initial definition.

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 31
31
23 — 31
Prefixed
Prefixed Requires the vendor prefix: -webkit-
12 42
42
25 — 42
Disabled
Limited support to a whitelist of sites, for example YouTube, Netflix, and other popular streaming sites. The whitelist was removed when Media Source Extensions was enabled by default in Firefox 42.
Disabled From version 25 until version 42 (exclusive): this feature is behind the media.mediasource.enabled preference. To change preferences in Firefox, visit about:config.
11
11
Only works on Windows 8+.
15 8
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support 4.4.3 33 Yes 41 30 No Yes

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaSource/readyState