The SourceBuffer
method changeType()
sets the MIME type that future calls to appendBuffer()
should expect the new media data to conform to. This makes it possible to change codecs or container type mid-stream.
One scenario in which this is helpful is to support adapting the media source to changing bandwidth availability, by transitioning from one codec to another as resource constraints change.
sourceBuffer.changeType(type);
type
DOMString
specifying the MIME type that future buffers will conform to.undefined
.
TypeError
InvalidStateError
SourceBuffer
is not a member of the parent media source's sourceBuffers
list, or the buffer's updating
property indicates that a previously queued appendBuffer()
or remove()
is still being processed.NotSupportedError
SourceBuffer
objects present in the MediaSource.sourceBuffers
list.If the parent MediaSource
is in its "ended"
readyState
, calling changeType()
will transition the media source to the "open"
readyState
and fire a simple event named sourceopen
at the parent media source.
Specification | Status | Comment |
---|---|---|
Media Source Extensions The definition of 'SourceBuffer.changeType' in that specification. | Recommendation | Initial definition. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 70
|
No | 63
|
? | ? | ? |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | ? | 70
|
No | 63
|
? | ? | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SourceBuffer/changeType