W3C home > Mailing lists > Public > public-webrtc-logs@w3.org > December 2019

Re: [mediacapture-main] Prompt user to choose unless constraints reduce to 1. (#644)

From: Jan-Ivar Bruaroey via GitHub <sysbot+gh@w3.org>
Date: Tue, 03 Dec 2019 16:44:09 +0000
To: public-webrtc-logs@w3.org
Message-ID: <issue_comment.created-561253297-1575391447-sysbot+gh@w3.org>
> If this does what the title says, I'm against it.

Please see this [slide](https://docs.google.com/presentation/d/1QEdMf6Ixg1NNvHoZUvO29njrSKn9pdF1WqcrFWI4uX8/edit?ts=5dbaf0b6#slide=id.g6b7f95ec98_3_139) which I unfortunately ran out of time to present properly last week.

> Prompting the user to choose when the user has a stored permission to access all the devices in the list will lead to completely pointless prompting

Not so, unless you assume sites don't use constraints? The whole premise of in-content device selection rests on sites responsibly using constraints to remember choices for their users.

Multi-device users of sites that abdicate this responsibility would likely welcome a selector.

But *most* users would *not* see a prompt with this change, I claim:
 1. Users with just one camera + mic
 2. Users with front/back cams: no prompt on sites using `facingMode: {exact}`
 3. Users with multiple cams+mics: no prompt on sites using `deviceId: {exact}`
 
The only people who would see a selector are those with an actual choice, *and* where a site abdicates its responsibility to pick responsibly for their users.

Yes, this small sub-population would see a selector initially for a while. This seems like a safe transition given that most browsers today lie about how many devices users are sharing. https://github.com/w3c/mediacapture-main/issues/648

Sites can avoid an initial selector by guessing the user prefers their default device like this:
```js
const devices = await navigator.mediaDevices.enumerateDevices();
const exact = devices.find(({kind}) => kind == "videoinput").deviceId; // use 1st cam
await navigator.mediaDevices.getUserMedia({video: {deviceId: {exact}}});
```
From my testing (and it's now in the spec even), all browsers list the default device first.

> pointless prompting

I'd  argue the spec is broken today *except* for browsers that grant all cams/mics upfront.

There's pointless prompting in all other models: First from in-content picker + again from browser.

-- 
GitHub Notification of comment by jan-ivar
Please view or discuss this issue at https://github.com/w3c/mediacapture-main/pull/644#issuecomment-561253297 using your GitHub account
Received on Tuesday, 3 December 2019 16:44:11 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:22:34 UTC