Web/API/MediaTrackSupportedConstraints

From Get docs


The MediaTrackSupportedConstraints dictionary establishes the list of constrainable properties recognized by the user agent or browser in its implementation of the MediaStreamTrack object. An object conforming to MediaTrackSupportedConstraints is returned by MediaDevices.getSupportedConstraints().

Because of the way interface definitions in WebIDL work, if a constraint is requested but not supported, no error will occur. Instead, the specified constraints will be applied, with any unrecognized constraints stripped from the request.That can lead to confusing and hard to debug errors, so be sure to use getSupportedConstraints() to retrieve this information before attempting to establish constraints if you need to know the difference between silently ignoring a constraint and a constraint being accepted.

An actual constraint set is described using an object based on the MediaTrackConstraints dictionary.

To learn more about how constraints work, see Capabilities, constraints, and settings.

Properties

Some combination—but not necessarily all—of the following properties will exist on the object.

autoGainControl
A Boolean whose value is true if the autoGainControl constraint is supported in the current environment.
width
A Boolean value whose value is true if the width constraint is supported in the current environment.
height
A Boolean value whose value is true if the height constraint is supported in the current environment.
aspectRatio
A Boolean value whose value is true if the aspectRatio constraint is supported in the current environment.
frameRate
A Boolean value whose value is true if the frameRate constraint is supported in the current environment.
facingMode
A Boolean value whose value is true if the facingMode constraint is supported in the current environment.
resizeMode
A Boolean value whose value is true if the resizeMode constraint is supported in the current environment.
volume
A Boolean value whose value is true if the volume constraint is supported in the current environment.
sampleRate
A Boolean value whose value is true if the sampleRate constraint is supported in the current environment.
sampleSize
A Boolean value whose value is true if the sampleSize constraint is supported in the current environment.
echoCancellation
A Boolean value whose value is true if the echoCancellation constraint is supported in the current environment.
latency
A Boolean value whose value is true if the latency constraint is supported in the current environment.
noiseSuppression
A Boolean whose value is true if the noiseSuppression constraint is supported in the current environment.
channelCount
A Boolean value whose value is true if the channelCount constraint is supported in the current environment.
deviceId
A Boolean value whose value is true if the deviceId constraint is supported in the current environment.
groupId
A Boolean value whose value is true if the groupId constraint is supported in the current environment.

Properties specific to shared screen tracks

For tracks containing video sources from the user's screen contents, the following additional properties are may be included in addition to those available for video tracks.

cursor
A Boolean value which is true if the cursor constraint is supported in the current environment.
displaySurface
A Boolean value which is true if the cursor constraint is supported in the current environment.
logicalSurface
A Boolean value which is true if the logicalSurface constraint is supported in the current environment.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
MediaTrackSupportedConstraints Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 42

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

Full support 42

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

aspectRatio Chrome

Full support 52

Edge

Full support ≤79

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

No support No

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

autoGainControl Chrome

Full support 69

Edge

Full support ≤79

Firefox Full support 55


Full support 55


No support ? — 55

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 69

Chrome Android

Full support 69

Firefox Android Full support 55


Full support 55


No support ? — 55

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 10.0

channelCount Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 56

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

Full support 56

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

cursor Chrome

No support No

Edge

No support No

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

No support No

Chrome Android

No support No

Firefox Android

No support No

Opera Android

?

Safari iOS

?

Samsung Internet Android

No support No

deviceId Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 42

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

Full support 42

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

displaySurface Chrome

No support No

Edge

No support No

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

No support No

Chrome Android

No support No

Firefox Android

No support No

Opera Android

?

Safari iOS

?

Samsung Internet Android

No support No

echoCancellation Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 46

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

Full support 46

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

facingMode Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 42

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

Full support 42

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

frameRate Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 42

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

Full support 42

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

groupId Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 70

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

No support No

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

height Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 42

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

Full support 42

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

latency Chrome

Full support 52

Edge

Full support ≤79

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

No support No

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

logicalSurface Chrome

No support No

Edge

No support No

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

No support No

Chrome Android

No support No

Firefox Android

No support No

Opera Android

?

Safari iOS

?

Samsung Internet Android

No support No

noiseSuppression Chrome

Full support 69

Edge

Full support ≤79

Firefox Full support 55


Full support 55


No support ? — 55

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 69

Chrome Android

Full support 69

Firefox Android Full support 55


Full support 55


No support ? — 55

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 10.0

resizeMode Chrome

No support No

Edge

No support No

Firefox

No support No

IE

No support No

Opera

No support No

Safari

?

WebView Android

No support No

Chrome Android

No support No

Firefox Android

No support No

Opera Android

No support No

Safari iOS

?

Samsung Internet Android

No support No

sampleRate Chrome

Full support 52

Edge

Full support ≤79

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

No support No

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

sampleSize Chrome

Full support 52

Edge

Full support ≤79

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

No support No

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

volume

Deprecated'Non-standard'

Chrome

Full support 52

Edge

Full support ≤79

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

No support No

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

width Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 42

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

Full support 42

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Non-standard. Expect poor cross-browser support.'
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.'
Deprecated. Not for use in new websites.
Requires a vendor prefix or different name for use.'
Requires a vendor prefix or different name for use.


See also