Open Bug 1574759 Opened 6 years ago Updated 3 years ago

webcam with same name

Categories

(Core :: WebRTC: Audio/Video, defect, P3)

68 Branch
defect

Tracking

()

People

(Reporter: luke, Unassigned)

Details

Attachments

(2 files)

Attached image bug_01.jpg

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.

Component: Untriaged → Site Identity and Permission Panels

This could be caused by the front-end but generally it feels like we should start looking into this on the platform first.

Component: Site Identity and Permission Panels → WebRTC: Audio/Video
Product: Firefox → Core

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?

Flags: needinfo?(luke)
Attached file about_support.json

about:support

Flags: needinfo?(luke)

: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?

Flags: needinfo?(jib)

(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.

(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?

Flags: needinfo?(jib)

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.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P3

(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!

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: