Camera not listed on Google Meet
Categories
(Core :: WebRTC: Audio/Video, defect, P3)
Tracking
()
People
(Reporter: hugo, Unassigned, NeedInfo)
Details
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0
Steps to reproduce:
Join a Google Meet videocall.
Actual results:
The prompt to pick a camera lists my laptop's built-in camera, but not my external USB camera.
Expected results:
Both cameras should be listed.
Reporter | ||
Comment 1•3 years ago
|
||
The camera DOES work on other websites, like https://mozilla.github.io/webrtc-landing/gum_test.html
It seems the camera is listed when websites ask for only CAMERA access, but not when websites ask for CAMERA+Microphone access.
Comment 2•3 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::WebRTC: Audio/Video' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.
Updated•3 years ago
|
Updated•3 years ago
|
Comment 3•3 years ago
|
||
This is a common problem with google meet. Firefox is the only browser that allows picking from an internal permissions prompt. If you use the Meet picker you should see the camera.
Comment 4•3 years ago
|
||
Hi Hugo, to clarify: go to the ⚙️ settings page in Meet and you should see your cameras listed there. If not, please comment and we can reopen.
To Google Meet
The bug here is in Meet, who is using deviceId: {exact: id}
to only ask for the one specific camera you used last time. In this case, Firefox is not allowed to offer other choices. That's why you're not seeing your other camera(s) in Firefox's supplementary picker in its permission prompt.
Instead, the spec recommends that Meet use:
deviceId: id
when users come to their site (and update the stored id to the camera that's ultimately returned), anddeviceId: {exact: id}
only from Meet's ⚙️ settings page in response to users clicking on specific camera in Meet's list.
See spec Example 6 (use ideal on revisit) and Example 7 (use exact in device picker) respectively. This gives the best user experience in all browsers.
Reporter | ||
Comment 5•3 years ago
|
||
Thanks both for the detailed explanations here.
This is a common problem with google meet. Firefox is the only browser that allows picking from an internal permissions prompt. If you use the Meet picker you should see the camera.
So when I pick a camera and grant a website permission for it, the website actually gains access to ALL cameras?
This could easily be seen as a security hole; when someone grants permission to one camera there's no reason to assume that permission for ALL cameras was being granted. I really think this UI should be revisited, unknowingly granting camera access is pretty risky.
The bug here is in Meet, who is using deviceId: {exact: id} to only ask for the one specific camera you used last time. In this case, Firefox is not allowed to offer other choices. That's why you're not seeing your other camera(s) in Firefox's supplementary picker in its permission prompt.
There's three camera devices on my computer (two built-in, on external), and Firefox lists both built-in permissions prompt for meet, but not the third.
Why do two show up if Meet in the list if meet is passing an exact id?
Comment 6•3 years ago
|
||
So when I pick a camera and grant a website permission for it, the website actually gains access to ALL cameras?
No. Firefox is the only browser that grants per-device permission by default, unless you check ☑ Remember this decision
which grants permission to all cameras, like most other browsers do by default.
There's three camera devices on my computer (two built-in, on external), and Firefox lists both built-in permissions prompt for meet, but not the third. Why do two show up if Meet in the list if meet is passing an exact id?
I'm not sure I understand what you're asking. Can you rephrase? Do all three show up in prompt here and in JS here?
Description
•