On 7/8/14 1:08 AM, Jan-Ivar Bruaroey wrote:
> I actually recommend we add "camera" as a WebIDL default here, like this:
>
> enum MediaSourceEnum {
> "camera",
> "browser",
> "application",
> "screen"
> };
>
> dictionary MediaTrackConstraintSet {
> ...
> ConstrainMediaSource mozMediaSource = "camera";
> };
>
> Because doing so has a desirable effect:
>
> A default value here means all uses to date as well as all uses that
> don't explicitly provide a different value will get mediaSource:
> "camera" implicitly, which will filter out all screensharing devices
> by default, which I think is what we want. We don't want screensharing
> devices to pop up in the regular camera list.
>
> There'll effectively be "sub-pools" of devices (cameras, browsers,
> application and screen) that users will never see a union of, which I
> believe we desire.
Scratch 'never' from that last sentence as Martin pointed out that if we
proceed with the "bare-values-mean-ideal" proposal for constraints, then
a default value in WebIDL no longer gives any guarantee of "separation
of pools", because the interpretation would be that it is optional, and
you could get cameras and other devices mixed in the returned list. This
is another reason I'm beginning to think "bare-values-mean-ideal" is a
mistake.
.: Jan-Ivar :.