- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Fri, 15 Nov 2013 11:58:53 +0100
- To: public-media-capture@w3.org
On 11/15/2013 01:31 AM, Jan-Ivar Bruaroey wrote: > On 11/14/13 12:01 PM, Silvia Pfeiffer wrote: >> On Thu, Nov 14, 2013 at 6:36 PM, Jan-Ivar Bruaroey <jib@mozilla.com> >> wrote: >>> B) getUserMedia({ optional: [{ 3D: true }]}, success, fail); -> >>> Firefox 28: >>> something >>> Firefox 29: 3D >>> >>> It's B, because the user wants this to work, and will try to pick >>> the right >>> camera when his browser and/or camera driver are clueless. >>> >>> Reaction card (check one): >>> >>> [ ] But he may pick the wrong thing!! Burn! 404! >>> [ ] Let him play. The goal is not to control, but to make the >>> experience >>> work seamlessly or work. >>> >>> So why not: >>> >>> C) getUserMedia({ mandatory: { 3D: true } }, success, fail);-> >>> Firefox 28: >>> something >>> Firefox 29: 3D >>> >>> Because Firefox 28 doesn't know it's NOT a 3D camera... >> So your argument is: the browser doesn't understand the constraint, so >> should pass the camera through because it could potentially be the >> correct device. > > Yes, well said. Thanks for that. > > For example, if the new 3D camera also has an extremely high > resolution you want, then the width/height constraints you'd add > (mandatory or optional) increase the likelihood of finding this camera > even on a system with an old browser and multiple cameras. I don't understand this argument at all. The JS programmer says "I want a 3D camera. If I can't get a 3D camera, I don't want any camera". Firefox 28 says "I have no idea whether this is a 3D camera or not. I'll pass it up just in case it's usable." I don't see how this can be constructed as acting in accordance with the programmer's wishes. If he was willing to accept a camera that was not a 3D camera, he would not have specified a mandatory constraint. Mandatory constraints guarantee that the resulting object is something that satisfies the constraints. If they don't give such a guarantee, the JS script has to recheck all the properties it depends on after it gets the device, just in case the browser chose to ignore some of them. I don't see how this makes the JS programmer's life easier.
Received on Friday, 15 November 2013 10:59:22 UTC