webcam with same name
Categories
(Core :: WebRTC: Audio/Video, defect, P3)
Tracking
()
People
(Reporter: luke, Unassigned)
Details
Attachments
(2 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0
Steps to reproduce:
i'm using EpocCam: the program allow to use iphone as a webcam (usb or wifi).
i'm using webcam.js to use the camera on my webapp (that is on a private network).
the app use the video stream to take photos and save it on a server.
Actual results:
firefox ask for permission to use a webcam.
in the list i see two entry for "EpocCam Camera" (i don't know why).
when i select the first stream, the video is blank.
the second stream is the correct.
if i choose the second and i click on "Remember this decision" checkbox and i reload the page, firefox show a blank video so i think that is using the first "EpocCam Camera"
Expected results:
firefox should use the second stream.
Updated•6 years ago
|
Comment 1•6 years ago
|
||
This could be caused by the front-end but generally it feels like we should start looking into this on the platform first.
Looks like EpocCam may be exposing two devices to the operating system, and there's issues with Firefox picking up which to use when remembering. Luke, could you navigate to about:support and use the button there to copy the information to the clipboard then attach it to this bug?
:jib, do we log the connected video input devices to about:support? I realize now it may specifically be audio devices. Do you have any insight into why gUM may be getting confused which remembering devices here?
| Reporter | ||
Comment 5•6 years ago
|
||
(In reply to Bryce Seager van Dyk (:bryce) from comment #4)
:jib, do we log the connected video input devices to about:support? I realize now it may specifically be audio devices. Do you have any insight into why gUM may be getting confused which remembering devices here?
nope.
to "fix" the problem now i'm using
constraints: {
deviceId: { exact: '7PvfIvF2pPKLYksjyb7n6qp5wV9qvRFgSx9DZ4aLzys=' },
},
in webcamjs parameters (deviceId is the second EpocCam).
obviously its a temp solution.
Comment 6•6 years ago
|
||
(In reply to Bryce Seager van Dyk (:bryce) from comment #4)
Do you have any insight into why gUM may be getting confused which remembering devices here?
Firefox doesn't remember the device at all. That's a common misunderstanding. Only the permission is remembered, and the permission is for all devices.
I understand why people would expect the device to be remembered in this case, so I opened bug 1212501 long ago to attempt to mitigate this. However, any attempt from Firefox to remember the device chosen when the user first clicked ☑ Remember this decision would need to ensure it doesn't conflict with any constraints provided by the web site (as a default device input to the constraints algorithm effectively).
The problem is that the spec puts the onus on web sites to manage devices for the user, using constraints. So the solution in comment 5 is actually the correct and most web compatible solution.
I'd close this as a dup of bug 1212501, unless we want to keep this open to figure out any other mitigations to EpocCam exposing two devices? We've had examples in the past where the default camera chosen was no good (an infrared camera, as I recall). Perhaps there are some properties we can filter on?
That said, I don't understand what reasons EpocCam might have for exposing two devices. A bug on their part?
Thanks, :jib, that helps a lot. Sounds like there's not a huge amount that can be done on our end. I'm reaching out to Kinoni (who make EpocCam) for clarification as to what the two different devices are. From there we can assess if it's a bug on their end and/or something we could filter on.
| Reporter | ||
Comment 8•6 years ago
|
||
(In reply to Bryce Seager van Dyk (:bryce) from comment #7)
Thanks, :jib, that helps a lot. Sounds like there's not a huge amount that can be done on our end. I'm reaching out to Kinoni (who make EpocCam) for clarification as to what the two different devices are. From there we can assess if it's a bug on their end and/or something we could filter on.
tnx bryce!
Updated•3 years ago
|
Description
•