Re: [mediacapture-main] How to handle known but unsupported constraints

It's hard to infer a general rule from the `echoCancellation` 
constraint, given how complicated it is, conflating both feature vs. 
value (boolean), and inherent-property vs. control-setting (there are 
mics with controllable hardware aec, mics with hardware aec that 
cannot be turned off, mics without aec, and browsers that do software 
aec), but I'll try.

Say my system has two mics, `micA` with hardware aec ***that cannot be
 turned off***, and `micB` without aec.

If a browser claims to support the `echoCancellation` constraint, and 
the browser

1. does ***not*** support software aec, then I would expect 
`devInfoMicA.getCapabilities().echoCancellation` to yield `[ true ]`, 
and `devInfoMicB.getCapabilities().echoCancellation` to yield `[ false
 ]`.

2. If it ***does*** support software aec, then I might expect
`devInfoMicA.getCapabilities().echoCancellation` to yield `[ true ]`, 
and `devInfoMicB.getCapabilities().echoCancellation` to yield `[ 
false, true ]`.

3. If it ***does*** support software aec, but ***cannot glean hardware
 capabilities***, then I might settle for
`devInfoMicA.getCapabilities().echoCancellation` to yield `[ false, 
true ]`, and `devInfoMicB.getCapabilities().echoCancellation` to yield
 `[ false, true ]`.

(The third one is arguably a bug, but is where browsers find 
themselves atm, and some control is better than no control.)

The fourth case, where the browser neither supports software aec, nor 
can tell the difference between my two mics, seems identical to not 
supporting the constraint. Claiming support here and returning all `[ 
false ]` values would make the fourth case is indistinguishable from 
(1) where neither `micA` nor `micB` support aec, undermining the value
 of the information for no good reason.

-- 
GitHub Notification of comment by jan-ivar
Please view or discuss this issue at 
https://github.com/w3c/mediacapture-main/issues/296#issuecomment-175880778
 using your GitHub account

Received on Wednesday, 27 January 2016 21:58:35 UTC