[mediacapture-main] What happens to constraints that are not applicable? Ignored or OverconstrainedError?

henbos has just created a new issue for https://github.com/w3c/mediacapture-main:

== What happens to constraints that are not applicable? Ignored or OverconstrainedError? ==
WebIDL automatically "filters out" any constraints (members in a dictionary) passed in to getUserMedia() that are not defined in the WebIDL, which means that typos or unrecognized constraints by an implementation would silently be ignored.

However, any constraints that are defined are passed in, regardless if they are applicable or not. I don't know if it's clear what to do in this case, for example if passing in audio-only constraints to a video-only GUM-request. Would the fitness distance for the audio constraint be infinity making getUserMedia() throw an OverconstrainedError, or should it be ignored?

If fitness distance is infinity, does that mean that the following will throw an exception...
```
getUserMedia({video:{volume:{exact:0.5}}})
```
... but the following would pass?
```
getUserMedia({video:{volume:{ideal:0.5}}})
```
Also since this would cause the same "damage" to the fitness distance to ALL sources, are the sources prioritized correctly despite of this or are all of them "infinity" and handled as if they all have the same fitness distance (meaning other constraints would in practice be ignored?)

@guidou Does the GUM algorithm need to be clarified?

Please view or discuss this issue at https://github.com/w3c/mediacapture-main/issues/533 using your GitHub account

Received on Thursday, 30 August 2018 13:27:33 UTC