Re: [mediacapture-image] [PTZ] Should `applyConstraints` request permission? (#223)

Also developers would have to keep track that they have requested PTZ and it was denied/unavailable since I suspect that they don't want to repeatedly run through that pattern whenever they might want to do something with `pan`,`tilt` and `zoom`. The fact that `pan`, `tilt`, `zoom` being undefined could either mean `you're denied/feature unavailable` or `you have not requested the permissions yet, give a try perhaps` makes writing the code somewhat cumbersome IMO.

I suspect developers would end up doing something like this:
```
let pan = track.getSettings().pan; // undefined
if (pan === undefined) {
  await track.applyConstraints({pan: true}); // permission elevation prompt
  pan = track.getSettings().pan; // actual value revealed (if supported)
}
let ptz_available = (pan !== undefined);
// And from now on, rely on ptz_available instead of doing `pan !== undefined`
```

Of course, in contrast the other proposal also has downsides in terms of cumbersomeness since it will require re-calling `getUserMedia` and replacing your stream. But OTOH it means that `pan === undefined` will always mean `you're denied/feature unavailable` (in a stream that was obtained with a PTZ-enabling `getUserMedia` call). Mentally that makes more sense to me. Practically I don't know if any approach has a clear edge so at this point I'm happy either way.

-- 
GitHub Notification of comment by andypaicu
Please view or discuss this issue at https://github.com/w3c/mediacapture-image/issues/223#issuecomment-630916839 using your GitHub account

Received on Tuesday, 19 May 2020 16:00:53 UTC