Firefox Tomorrow

web api static method

VideoEncoder: isConfigSupported() static method

View on MDN ↗

Secure contextAvailable in workers

The isConfigSupported() static method of the VideoEncoder interface checks if VideoEncoder can be successfully configured with the given config.

Syntax

VideoEncoder.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 encoder.
  • config
    • : A copy of the given config with all the fields recognized by the encoder.

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 width)

Examples

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

const codecs = [
  "avc1.420034",
  "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,
      width: 1280,
      height: 720,
      bitrate: 2_000_000,
      bitrateMode: "constant",
      framerate: 30,
      not_supported_field: 123,
    });
  }
}

for (const config of configs) {
  const support = await VideoEncoder.isConfigSupported(config);
  console.log(
    `VideoEncoder'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