Firefox Tomorrow

web api static method

VideoDecoder: isConfigSupported() static method

View on MDN ↗

Secure contextAvailable in workers

The isConfigSupported() static method of the VideoDecoder interface checks if the given config is supported (that is, if VideoDecoder objects can be successfully configured with the given config).

Syntax

VideoDecoder.isConfigSupported(config)

Parameters

  • config
    • : The dictionary object accepted by configure

Return value

A Promise that resolves with an object containing the following members:

  • supported
    • : A boolean value which is true if the given config is supported by the decoder.
  • config
    • : A copy of the given config with all the fields recognized by the decoder.

Exceptions

  • TypeError
    • : Thrown if the provided config is invalid; that is, if doesn’t have required values (such as an empty codec field) or has invalid values (such as a negative codedWidth).

Examples

The following example tests if the browser supports accelerated and un-accelerated versions of several video codecs.

const codecs = [
  "avc1.42001E",
  "hvc1.1.6.L123.00",
  "vp8",
  "vp09.00.10.08",
  "av01.0.04M.08",
];
const accelerations = ["prefer-hardware", "prefer-software"];

const configs = [];
for (const codec of codecs) {
  for (const acceleration of accelerations) {
    configs.push({
      codec,
      hardwareAcceleration: acceleration,
      codedWidth: 1280,
      codedHeight: 720,
      not_supported_field: 123,
    });
  }
}

for (const config of configs) {
  const support = await VideoDecoder.isConfigSupported(config);
  console.log(
    `VideoDecoder's config ${JSON.stringify(support.config)} support: ${
      support.supported
    }`,
  );
}

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

See also