- From: Jan-Ivar Bruaroey <jib@mozilla.com>
- Date: Fri, 28 Mar 2014 14:50:00 -0400
- To: Harald Alvestrand <harald@alvestrand.no>, public-media-capture@w3.org
- Message-ID: <5335C458.4060603@mozilla.com>
On 3/28/14 12:12 PM, Harald Alvestrand wrote:
> On 03/28/2014 05:04 PM, Justin Uberti wrote:
>> It would be good to document this explicitly in the spec.
>
> I think we should document explicitly that the default is true (on).
> Any objections?
I think defaults on constraints are confusing unfortunately, because of
the two contexts: source-selection vs. track-apply.
It seems up to a UA to implement AEC either using software or hardware
if available (some mics/OSes offer it, which, being closer to the
recording source, may have an advantage over software).
So I think what you get depends on what's available:
For argument's sake (and this is to work out the logic, so never-mind
how obscure this is):
Say my browser doesn't have software AEC for some reason (low-power
device), but has two different mics: one low-fidelity mic does AEC in
hardware, and another high-fidelity one cannot.
Your may want the high-fidelity mic and have constraints that say so.
But if we're to imply "echoCancellation:true" as an implicit constraint,
then that might hinder you getting what you want.
Specifying echoCancellation:false might work, but that means "avoid aec"
rather than "I don't care about aec", so that doesn't correctly
counter-act an implied true.
So I think constraints are absent by default rather than having default
values.
> Query: If a platform doesn't support echo cancellation, in either
> hardware or software, would it make sense to return "false" as the
> only value for this constraint in capabilities()?
Hmm, can we return more than one value for booleans in
getCapabilities()? I thought it as just a boolean ("I can do aec" vs. "I
can't".
.: Jan-Ivar :.
Received on Friday, 28 March 2014 18:50:28 UTC