Closed
Bug 802397
Opened 13 years ago
Closed 13 years ago
If I try to get access to my USB camera with a USB camera and built-in camera plugged in, I end up getting the built-in camera instead
Categories
(Core :: WebRTC: Audio/Video, defect)
Core
WebRTC: Audio/Video
Tracking
()
VERIFIED
FIXED
mozilla19
People
(Reporter: jsmith, Unassigned)
References
Details
(Whiteboard: [getUserMedia] [blocking-gum+])
Attachments
(2 files)
|
1.26 KB,
patch
|
Details | Diff | Splinter Review | |
|
1.57 KB,
patch
|
Dolske
:
review+
|
Details | Diff | Splinter Review |
Steps:
1. Call gUM with video with an integrated camera and USB camera on your device
2. When the permission prompt appears, select the USB camera
Expected:
The USB camera should start streaming and be shown in the video tag using the media stream from gUM.
Actual:
The integrated camera starts streaming and is shown in the video tag using the media stream from gUM.
Comment 1•13 years ago
|
||
Sounds like bug 797796 isn't working as expected, unless the front-end is sending bogus data to the back-end.
| Reporter | ||
Updated•13 years ago
|
Component: General → WebRTC: Audio/Video
Product: Firefox → Core
QA Contact: jsmith
| Reporter | ||
Comment 2•13 years ago
|
||
Spoke with Anant about this today - this is more likely a core webrtc bug.
| Reporter | ||
Updated•13 years ago
|
Whiteboard: [getUserMedia] → [getUserMedia] [blocking-gum+]
Comment 3•13 years ago
|
||
jsmith, can you retest with today's nightly or a fresh build?
| Reporter | ||
Comment 4•13 years ago
|
||
(In reply to Randell Jesup [:jesup] from comment #3)
> jsmith, can you retest with today's nightly or a fresh build?
Yup, retested. I can still reproduce this bug.
Keywords: qawanted
Comment 5•13 years ago
|
||
This is easy for me to reproduce on OSX, current nightly:
* Plug in USB camera to MacBook
* Load http://timtaubert.de/demos/green-screen/
* Give it permission for the USB cam
Instead of video from the USB cam, I get the built-in camera.
Comment 6•13 years ago
|
||
So, from some debugging I found that the frontend code was passing the wrong device to the MediaManager observer.
This patch adds logging and makes it work, but I don't understand what's going on... The logging prints:
Allow: FaceTime HD Camera (Built-in) for callID {de506c63-8a26-9e42-a914-0aeaefc1352e}
Allow: USB 2.0 PC Cam for callID {de506c63-8a26-9e42-a914-0aeaefc1352e}
So ddd != device, and indeed passing |ddd| to .notifyObservers fixes things.
But AFAIK there should be a closure over |device| here, so the code _should_ work as-is. Ergo, JS engine bug. Or am I missing something?
Comment 7•13 years ago
|
||
I see the same thing; it *appears* as if device remains a reference to an outer context. Odd.
BTW, I see this on Linux and windows as well; I doubt it's OS-related.
We should probably do a minimal testcase to verify.
OS: Windows 7 → All
Comment 9•13 years ago
|
||
// standalone testcase that's now irrelevant deleted....
Sheesh. 4-year old bug, with a 9-month-old r+'d patch....
Let's land ttaubert's fix (minus dumps) with a comment that it's that bug, and point them in that bug to fix the js code when they land that engine fix.
Comment 10•13 years ago
|
||
Updated•13 years ago
|
Attachment #674811 -
Flags: review?(dolske)
Updated•13 years ago
|
Attachment #674811 -
Flags: review?(dolske) → review+
Comment 11•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
status-firefox18:
--- → affected
status-firefox19:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
| Reporter | ||
Comment 12•13 years ago
|
||
Verified on 10/26 build.
| Reporter | ||
Comment 13•13 years ago
|
||
If we could fake the devices, we might be able to automate this. Although as it stands in the current framework, we don't have this ability. Putting in-testsuite- for now, although if device faking becomes possible at some point, then we should re-evaluate this one for a test.
Flags: in-testsuite-
You need to log in
before you can comment on or make changes to this bug.
Description
•