The MediaCapabilities.decodingInfo() method, part of the Media Capabilities API, returns a promise with the tested media configuration's mediaCapabilitiesInfo; this contains the three Boolean properties supported, smooth, and powerefficient, which describe whether decoding the media described would be supported, smooth, and powerefficient.
Syntax
mediaCapabilities.decodingInfo(MediaDecodingConfiguration)
Parameters
- MediaDecodingConfiguration
- A valid
MediaDecodingConfigurationdictionary containing a valid media decodingtypeoffileormedia-sourceand a valid media configuration: either anAudioConfigurationor aVideoConfiguration.
Return value
A Promise fulfilling with a MediaCapabilitiesInfo interface containing three Boolean attributes:
supportedsmoothpowerEfficient
Exceptions
A TypeError is raised if the MediaConfiguration passed to the decodingInfo() method is invalid, either because the type is not video or audio, the contentType is not a valid codec MIME type, the media decoding configuration is not a valid value for the media decoding type, or any other error in the media configuration passed to the method, including omitting values required in the media decoding configuration.
Example
//Create media configuration to be tested
const mediaConfig = {
type : 'file', // or 'media-source'
audio : {
contentType : "audio/ogg", // valid content type
channels : 2, // audio channels used by the track
bitrate : 132700, // number of bits used to encode 1s of audio
samplerate : 5200 // number of audio samples making up that 1s.
},
};
// check support and performance
navigator.mediaCapabilities.decodingInfo(mediaConfig).then(result => {
console.log('This configuration is ' +
(result.supported ? '' : 'not ') + 'supported, ' +
(result.smooth ? '' : 'not ') + 'smooth, and ' +
(result.powerEfficient ? '' : 'not ') + 'power efficient.')
});
Specifications
| Specification | Status | Comment |
|---|---|---|
| Media CapabilitiesThe definition of 'decodingInfo()' in that specification. | Draft | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Chrome
Full support 66 |
Edge
Full support ≤79 |
Firefox
Full support 63 |
IE
No support No |
Opera
Full support 55 |
Safari
? |
WebView Android
Full support 66 |
Chrome Android
Full support 66 |
Firefox Android
Full support 63 |
Opera Android
Full support 48 |
Safari iOS
? |
Samsung Internet Android
Full support 9.0 |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Experimental. Expect behavior to change in the future.'
- Experimental. Expect behavior to change in the future.
See also
MediaCapabilities.decodingInfo() by Mozilla Contributors is licensed under CC-BY-SA 2.5.