# class SourceBuffer

#### package js.html

#### extends EventTarget

Available on HTML5

The `SourceBuffer` interface represents a chunk of media to be passed into an `HTMLMediaElement` and played, via a `MediaSource` object. This can be made up of one or several media segments.

Documentation SourceBuffer by Mozilla Contributors, licensed under CC-BY-SA 2.5.

See:

https://developer.mozilla.org/en-US/docs/Web/API/SourceBuffer

### Variables

###

`appendWindowEnd:Float`

Controls the timestamp for the end of the append window.

###

`appendWindowStart:Float`

Controls the timestamp for the start of the append window. This is a timestamp range that can be used to filter what media data is appended to the `SourceBuffer`. Coded media frames with timestamps wthin this range will be appended, whereas those outside the range will be filtered out.

###

`read onlybuffered:TimeRanges`

Returns the time ranges that are currently buffered in the `SourceBuffer`.

###

`mode:SourceBufferAppendMode`

Controls how the order of media segments in the `SourceBuffer` is handled, in terms of whether they can be appended in any order, or they have to be kept in a strict sequence.

###

`timestampOffset:Float`

Controls the offset applied to timestamps inside media segments that are subsequently appended to the `SourceBuffer`.

###

`read onlyupdating:Bool`

Indicates whether the `SourceBuffer` is currently being updated — i.e. whether an `SourceBuffer.appendBuffer()`, `SourceBuffer.appendStream()`, or `SourceBuffer.remove()` operation is currently in progress.

### Methods

###

`abort ():Void`

Throws:

`null` | DOMError

###

`appendBuffer (data:ArrayBufferView):Void`

`appendBuffer (data:ArrayBuffer):Void`

Throws:

`null` | DOMError

###

`remove (start:Float, end:Float):Void`

Throws:

`null` | DOMError

### Inherited Variables

### Inherited Methods

#### Defined by EventTarget

###

`addEventListener (type:String, listener:Function, capture:Bool = false):Void`

`addEventListener (type:String, listener:EventListener, capture:Bool = false, ?wantsUntrusted:Bool):Void`

Throws:

`null` | DOMError

###

`dispatchEvent (event:Event):Bool`

Throws:

`null` | DOMError

###

`removeEventListener (type:String, listener:Function, capture:Bool = false):Void`

`removeEventListener (type:String, listener:EventListener, capture:Bool = false):Void`

Throws:

`null` | DOMError