VideoDecoder: configure() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Dedicated Web Workers.
The configure() method of the VideoDecoder interface enqueues a control message to configure the video decoder for decoding chunks.
Syntax
configure(config)
Parameters
config-
An object containing the following members:
codec-
A string containing a valid codec string. See "codecs" parameter for details on codec string construction.
descriptionOptional-
An
ArrayBuffer, aTypedArray, or aDataViewcontaining a sequence of codec specific bytes, commonly known as extradata. codedWidthOptional-
An integer representing the width of the
VideoFramein pixels, including any non-visible padding, before any ratio adjustments. codedHeightOptional-
An integer representing the height of the
VideoFramein pixels, including any non-visible padding, before any ratio adjustments. displayAspectWidthOptional-
An integer representing the horizontal dimension of the
VideoFramein pixels when displayed. displayAspectHeightOptional-
An integer representing the vertical dimension of the
VideoFramein pixels when displayed. colorSpaceOptional-
An object representing a
VideoColorSpace, containing the following members:primaries-
A string representing the color gamut of the video sample. One of:
"bt709""bt470bg""smpte170m"
transfer-
A string representing transfer characteristics. One of:
"bt709""smpte170m""iec61966-2-1"
matrix-
A string representing a matrix coefficient. One of:
"rgb""bt709""bt470bg""smpte170m"
hardwareAccelerationOptional-
A hint as to the hardware acceleration method to use. One of:
"no-preference""prefer-hardware""prefer-software"
optimizeForLatencyOptional-
A boolean. If
truethis is a hint that the selected decoder should be optimized to minimize the number ofEncodedVideoChunkobjects that have to be decoded before aVideoFrameis output. flipOptional-
A boolean. If
true, horizontal mirroring is applied. Defaults tofalse. rotationOptional-
An integer representing the rotation (0, 90, 180, or 270) in degrees clockwise. Defaults to
0. Arbitrary numbers (including negatives) are rounded to the next quarter turn.
Note:
The registrations in the WebCodecs Codec Registry link to a specification detailing whether and how to populate the optional description member.
Return value
None (undefined).
Exceptions
TypeError-
Thrown if the provided
configis invalid. InvalidStateErrorDOMException-
Thrown if the
stateis"closed". NotSupportedErrorDOMException-
Thrown if the provided
configis valid but the user agent cannot provide a codec that can decode this profile.
Examples
The following example creates a new VideoDecoder and configures it with the "vp8" codec, a codedWidth of 640 pixels and a codedHeight of 480 pixels.
const init = {
output: handleFrame,
error(e) {
console.log(e.message);
},
};
const config = {
codec: "vp8",
codedWidth: 640,
codedHeight: 480,
};
let decoder = new VideoDecoder(init);
decoder.configure(config);
Specifications
| Specification |
|---|
| WebCodecs> # dom-videodecoder-configure> |
Browser compatibility
Loading…