SourceBuffer: updateend event

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Note: This feature is available in Dedicated Web Workers.

The updateend event of the SourceBuffer interface signals the (not necessarily successful) completion of an appendBuffer() or remove() operation. The updating attribute transitions from true to false. This event is fired after the update, error, or abort events.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

js
addEventListener("updateend", (event) => { })

onupdateend = (event) => { }

Event type

A generic Event.

Examples

Handling the updateend event after appending data

This example demonstrates how to handle the updateend event. Note that we handle each completion event separately, and only use updateend for finalizing the stream.

js
const sourceBuffer = source.addSourceBuffer(mimeCodec);
sourceBuffer.addEventListener("abort", () => {
  downloadStatus.textContent = "Canceled";
});
sourceBuffer.addEventListener("error", () => {
  downloadStatus.textContent = "Error occurred during decoding";
});
sourceBuffer.addEventListener("update", () => {
  downloadStatus.textContent = "Done";
});
sourceBuffer.addEventListener("updateend", () => {
  source.endOfStream();
});
downloadStatus.textContent = "Downloading...";
fetch(assetURL)
  .then((response) => response.arrayBuffer())
  .then((data) => {
    downloadStatus.textContent = "Decoding...";
    sourceBuffer.appendBuffer(data);
  });

Specifications

Specification
Media Source Extensions™
# dfn-updateend
Media Source Extensions™
# dom-sourcebuffer-onupdateend

Browser compatibility

See also