BufferedChangeEvent: BufferedChangeEvent() constructor
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.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The BufferedChangeEvent() constructor of the BufferedChangeEvent interface creates a new BufferedChangeEvent object instance.
Syntax
new BufferedChangeEvent(type, options)
Parameters
type-
A string representing the type of event. In the case of
BufferedChangeEventthis is alwaysbufferedchange. optionsOptional-
An object that, in addition to the properties defined in
Event(), has the following properties:Note: Although the spec marks
optionsas optional, Safari (currently the only implementation) throws aTypeErrorif the argument is omitted entirely. Passing an empty object ({}) works correctly.addedRangesOptional-
A
TimeRangesobject representing the time ranges added to the buffer. removedRangesOptional-
A
TimeRangesobject representing the time ranges removed from the buffer.
Return value
A new BufferedChangeEvent object instance.
Examples
>Inspecting a bufferedchange event
The BufferedChangeEvent() constructor isn't generally called manually. When a ManagedSourceBuffer's bufferedchange event fires (meaning its buffered ranges change), the browser will construct a BufferedChangeEvent object to use as the event object.
The event's properties describe what changed:
sourceBuffer.addEventListener("bufferedchange", (event) => {
console.log(event instanceof BufferedChangeEvent); // true
console.log(event.type); // "bufferedchange"
console.log(event.addedRanges); // TimeRanges — ranges added to the buffer
console.log(event.removedRanges); // TimeRanges — ranges removed from the buffer
});
Specifications
| Specification |
|---|
| Media Source Extensions™> # dom-bufferedchangeevent-constructor> |