This page is Ready to Use

Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.

addSourceBuffer

Summary

Creates a new SourceBuffer and adds it to the SourceBuffers property of the MediaSource.

Method of apis/media_source_extensions/MediaSourceapis/media_source_extensions/MediaSource

Syntax

var sourcebuffer = MediaSource.addSourceBuffer(MIME type);

Parameters

MIME type

Data-type
String

The MIME type. This is expressed typically as ‘video/mp4’ or optionally as a MIME type and a codec: 'video/mp4;codecs=avc1.4d0020,mp4a.40.2’. Internet Explorer accepts both formats, though other browsers may require the codec be included.

Return Value

Returns an object of type ObjectObject

Type: SourceBuffer The media source buffer.

Examples

This example gets a video object, creates a new MediaSource object, and assigns the MediaSource object to the src (source) of the video object. It then waits for the sourceopen event to fire, and then creates a video SourceBuffer using addSourceBuffer.



// Create mediaSource and initialize video
function setupVideo() {
  clearLog(); // Clear console log

  //  Create the media source
  if (window.MediaSource) {
    mediaSource = new window.MediaSource();
   } else {
    log("mediasource or syntax not supported");
    return;
  }
  var url = URL.createObjectURL(mediaSource);
  videoElement.pause();
  videoElement.src = url;
  videoElement.width = width;
  videoElement.height = height;

  // Wait for event that tells us that our media source object is
  //   ready for a buffer to be added.
  mediaSource.addEventListener('sourceopen', function (e) {
    try {
      videoSource = mediaSource.addSourceBuffer('video/mp4');
      initVideo(initialization, file);
    } catch (e) {
      log('Exception calling addSourceBuffer for video', e);
      return;
    }
  },false);
}

Usage

 Exceptions:

INVALID_ACCESS_ERR If type is null or an empty string.

NOT_SUPPORTED_ERR If type contains a MIME type that’s not supported or a MIME type that’s not supported by SourceBuffer.

QUOTA_EXCEEDED_ERR If the mediaSource can’t handle any more SourceBuffer objects.

Related specifications

Media Source Extensions
W3C Candidate Recommendation

Attributions

  • Microsoft Developer Network.