Let's say I want to build a WebRTC app and allow users to enumerate and select media devices in the page. I want this UI as consistent as possible across browsers.
Right now, the situation is not good in Firefox. After an initial gUM call (so I have labels for my enumerated devices), the user flow looks like this: 1. Webpage has UI for enumerating, selecting devices 2. User changes mic or cam 3. User did not select "always allow", so gUM dialog shows again, with its own selection options 4. User must click share to share a second time. This is klunky and weird for users--they made a selection, so the secondary gUM dialog showing up is really confusing. If the user did select "always allow" then this custom selection works how you'd expect: their changes are reflected immediately. You'd think a workaround would almost be for the web page to simply have a button to change mic/speakers, so the gUM dialog shows and user can select them there. However, that breaks down if the user DID select "always allow" because then gUM shows no dialog and there's no way to change devices at all. Chrome doesn't suffer from this problem, because after an initial gUM request on the page, it allows unprompted access to that page--basically, "always allow" being the default. My question is whether or not there's any work scheduled in Firefox to resolve this ambiguity? Even if they didn't select "always allow," does it really need to prompt with every change? Could it just prompt once when the page is loaded instead? It is great to be able to enumerate mic/camera and select the ones you want, but that feature is extremely hard (bordering on impossible to communicate clearly to users) to implement in a sane way with how gUM currently prompts in Firefox. You can test all of this at https://webrtc.github.io/samples/src/content/devices/input-output/ _______________________________________________ dev-media mailing list [email protected] https://lists.mozilla.org/listinfo/dev-media

