SourceBuffer: removeAsync() method

Note: This feature is available in Dedicated Web Workers.

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

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

The removeAsync() method of the SourceBuffer interface starts the process of asynchronously removing from the SourceBuffer media segments found within a specific time range. A Promise is returned, which is fulfilled when the buffers in the specified time range have been removed.

This method can only be called when updating is false. If that's not the case, call abort() instead.

Syntax

js
removeAsync(start, end)

Parameters

start

A double representing the start of the time range, in seconds.

end

A double representing the end of the time range, in seconds.

Return value

A Promise whose fulfillment handler is executed once the buffers in the specified time range have been removed from the SourceBuffer.

Examples

This example establishes an asynchronous function, emptySourceBuffer(), which clears the contents of the specified SourceBuffer.

js
async function emptySourceBuffer(msBuffer) {
  await msBuffer.removeAsync(0, Infinity).catch((e) => {
    handleException(e);
  });
}

Specifications

This feature is not part of any specification. It is not on track to become a standard.

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
removeAsync
Experimental Non-standard
Chrome – No support
Chrome
footnote No support
Edge – No support
Edge
footnote No support
Firefox – No support
Firefox 62 (Release date: 2018-09-05)
disabled
disabled From version 62 users must explicitly set the media.mediasource.experimental.enabled preference to true. To change preferences in Firefox, visit about:config.
Opera – No support
Opera
footnote No support
Safari – No support
Safari
footnote No support
Chrome Android – No support
Chrome Android
footnote No support
Firefox for Android – No support
Firefox for Android
footnote No support
Opera Android – No support
Opera Android
footnote No support
Safari on iOS – No support
Safari on iOS
footnote No support
Samsung Internet – No support
Samsung Internet
footnote No support
WebView Android – No support
WebView Android
footnote No support
WebView on iOS – No support
WebView on iOS
footnote No support

Legend

Tip: you can click/tap on a cell for more information.

No support
No support
Experimental. Expect behavior to change in the future.
Non-standard. Check cross-browser support before using.
User must explicitly enable this feature.

See also