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

> If this does what the title says, I'm against it.

Please see this [slide]( 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.

Sites can avoid an initial selector by guessing the user prefers their default device like this:
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 using your GitHub account

Received on Tuesday, 3 December 2019 16:44:11 UTC