- From: guidou via GitHub <sysbot+gh@w3.org>
- Date: Wed, 09 Sep 2020 08:13:01 +0000
- To: public-webrtc-logs@w3.org
> > To me, ... {pan: true} means that PTZ is required and, when not available, gUM() fails with OverconstrainedError if used in the basic set (the set is ignored if used in an advanced set) > > I find no support in the spec for that interpretation. > The spec says: " An empty ConstrainDoubleRange value implies no constraints but only a permission and capability request." That's where my interpretation comes from. pan: {} means request PTZ capability. Interpreting not having the capability as failing to satisfy the request looks like a valid interpretation to me. > The spec [says](https://w3c.github.io/mediacapture-image/#dom-mediatrackconstraintset-pan): _"A value of `true` is normalized to a value of empty ConstrainDouble"_, which I don't see being able to cause `OverconstrainedError`. > See above. > > This would mean that there is no way to require the PTZ capability, which is the intended result of the proposal. > > I see no way in the current spec to require PTZ capability without setting a value, e.g. `pan: {exact: 3600}` (it's not clear if `pan: {exact: 0}` does). > IIRC, the result of a previous discussion was that the presence of the constraint (with any value, including empty/true) indicated the capability/permission request. As indicated above, the spec explicitly says: "An empty ConstrainDoubleRange value implies no constraints but only a permission and capability request." > Option 3 would add that with e.g. `{pan: {exact: true}}`, modulo whatever we come up with in #246. > > > Not sure if the extra complexity of allowing pan to be used this way or in the usual DoubleConstraint way is worth it over using a separate constraint for the PTZ capability. > > You're listing the natural outcomes of the existing constraints algorithm. > Indeed. > I think the complexity is exactly the same as having a separate boolean constraint, except we avoid some nonsense combos: > > ```js > {video: {ptz: {exact: false}, pan: {min: 3600}}} > ``` > > ```js > {video: {ptz: false, pan: 3600}} > ``` Having to deal with the weird combos, is part of the extra complexity. Having to deal with a range that is the union of all floating point numbers, true and false, where true and false have specific meanings that are not translations to a floating-point range is probably going to be harder in terms of implementation than dealing with just the set of floating numbers or just {true,false}. -- GitHub Notification of comment by guidou Please view or discuss this issue at https://github.com/w3c/mediacapture-image/issues/256#issuecomment-689404394 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 9 September 2020 08:13:04 UTC