- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Mon, 02 Sep 2013 12:04:51 +0200
- To: public-media-capture@w3.org
- Message-ID: <522462C3.2000008@alvestrand.no>
I think this comment actually points out that we are trying to achieve multiple things with constraints. The model for the constraint mechanism is that you start out with a set containing all *configurations* for all devices, and reduce over that. A constraint on device ID will have immediate effects on which devices are available, but apart from that, the algorithm doesn't treat the reductions where a device goes completely out of scope in any particular way. One approach may be to treat reductions that take a device out of scope differently from reductions that "only" reduce the set of configurations available. Or does that make life too complicated? On 09/02/2013 11:55 AM, Harald Alvestrand wrote: > This is a mediacapture concern, so forwarding onto the right list. > > > -------- Original Message -------- > Subject: gUM's optional constraints algorithm penalizes user-choice > chasing best-match for webpage > Resent-Date: Sat, 31 Aug 2013 07:44:29 +0000 > Resent-From: public-webrtc@w3.org > Date: Sat, 31 Aug 2013 03:43:59 -0400 > From: Jan-Ivar Bruaroey <jib@mozilla.com> > Organization: Mozilla > To: public-webrtc@w3.org <public-webrtc@w3.org> > > > > In Firefox, we let users of gUM webpages choose which source to allow > from a subset dictated by the webpage, or choose to allow none. > > I believe this dictated subset is overly narrow when optional gUM > constraints are in play. To illustrate: > > Consider two phones A and B. > > Phone A has both a front camera and a back camera. > Phone B has only a back camera. > > A webpage C has this constraint = { optional: [{ facingMode:"user" > }] } > > Meaning the webpage prefers the front camera, but will work with any > camera. > > Result: > > On Phone A, the webpage user may choose the front camera or nothing. > On Phone B, the webpage user may choose the back camera or nothing. > > I think instead it should be: > > On Phone A, the webpage user may choose the front camera > (preferred), back camera, or nothing. > On Phone B, the webpage user may choose the back camera or nothing. > > Reason: From a permissions standpoint, I argue the user has as right > to withhold knowledge of Phone A's front camera, making it > indistinguishable from Phone B. > > Benefit: Lets a webpage affect which source is the default without > limiting choice. > e.g. lets pages on Firefox for Android default to front camera > without removing back option in dropdown. > > I believe a browser could implement this today without a webpage > knowing (and be blackbox spec-compliant): > > 1. Run the full set of tracks through the algorithm to arrive at the > "preferred" set (like today). > 2. Run discarded tracks through algorithm again, but *individually* > and keep ones that now make it through as "non-preferred". > 3. These tracks are valid from the webpage's point of view (it > doesn't know the size of the set) > > The reason this works is that our (unchanged) core "remove-from-list" > algorithm ignores zero-reducing optional constraints, which makes it > more lenient the smaller the starting set is. > > I'm curious what people think. > > .: Jan-Ivar :. > > >
Received on Monday, 2 September 2013 10:05:20 UTC