SourceBuffer: abort 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 abort event of the SourceBuffer interface is fired when the buffer appending is aborted, because the SourceBuffer.abort() or SourceBuffer.remove() method is called while the SourceBuffer.appendBuffer() algorithm is still running. The updating property transitions from true to false. This event is fired before the updateend event.
Syntax
Use the event name in methods like addEventListener(), or set an event handler property.
js
addEventListener("abort", (event) => { })
onabort = (event) => { }
Event type
A generic Event.
Examples
Aborting an append operation
This example demonstrates how to abort an append operation and handle the abort event.
js
const sourceBuffer = source.addSourceBuffer(mimeCodec);
sourceBuffer.addEventListener("abort", () => {
downloadStatus.textContent = "Canceled";
});
sourceBuffer.addEventListener("update", () => {
downloadStatus.textContent = "Done";
});
sourceBuffer.addEventListener("updateend", () => {
source.endOfStream();
});
cancelButton.addEventListener("click", () => {
if (sourceBuffer.updating) {
sourceBuffer.abort();
}
});
downloadStatus.textContent = "Downloading...";
fetch(assetURL)
.then((response) => response.arrayBuffer())
.then((data) => {
downloadStatus.textContent = "Decoding...";
sourceBuffer.appendBuffer(data);
});
Specifications
| Specification |
|---|
| Media Source Extensions™ # dfn-abort |
| Media Source Extensions™ # dom-sourcebuffer-onabort |
Browser compatibility
| desktop | mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
abort event
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Available in workers
|
|
|
|
|
|
|
|
|
|
|
|
|
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- Partial support
- Partial support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Has more compatibility info.