Closed Bug 1109062 Opened 8 years ago Closed 8 years ago

[e10s] Can't access camera via getUserMedia if it's already in-use by Hello (e10s only)

Categories

(Hello (Loop) :: Client, defect)

defect
Not set
normal

Tracking

(e10s-)

RESOLVED WONTFIX
Tracking Status
e10s - ---

People

(Reporter: adalucinet, Unassigned)

References

Details

Reproducible on latest Nightly 37.0a1 (Build ID: 20141208030202)
Platforms: Windows 7 64-bit, Windows 8.1 64-bit and Ubuntu 14.04 32-bit

Steps to reproduce:
1. Launch Nightly 37.0a1 and start a new conversation via Hello button (in the same window or 2 different profiles).
2. Share devices when prompted.

Expected results: Camera and Microphone are successfully shared.  

Actual results: "Firefox Hello requires access to your camera and microphone." message is displayed.

Notes:
1. Not reproducible on Mac OS X 10.8.5. 
2. Reproducible *only* with e10s enabled. 
3. Browser console output:

"OT.Publisher.onStreamAvailableError SourceUnavailableError: Unknown Error while getting user media" sdk.js:910
"OT.exception :: title: Unable to Publish (1500) msg: Publisher failed to access camera/mic: Unknown Error while getting user media" sdk.js:910
1500 "Unknown Error while getting user media" sdk.js:910
"OT.exception :: title: Unable to Publish (1500) msg: Unknown Error while getting user media" sdk.js:910
Blocks: e10s
So, while this may work differently in e10s, the fundamental issue here is that you're trying to do something that isn't a real usecase: calling yourself in the same browser (or with two profiles, calling yourself with two browsers on the same machine).  This can run into resource-access restrictions, such as in the two-browser case on most platforms, the camera access is exclusive, so the second browser can't access it).

Also: you said "in the same window or 2 different profiles": does that mean two browsers?  or perhaps two tabs?  I doubt it would work with two browsers on most systems regardless of the e10s setting.

While this test isn't a normal usecase, there are some edge-case uses this might break (gUM used to do gesture recognition or simply recording the local video in a background tab while you're in an Hello call).  Not high priority, and future sandboxing work will move all the video and audio capture into the master process anyways, likely making this moot then.  We might be able to fix it in the interim, however.  Probably the issue is Chrome vs content access to the camera - Hello may be accessing it in the Master process...
Summary: [e10s] Camera&Microphone not recognized after joining a conversation via Hello button → [e10s] Can't access camera via getUserMedia if it's already in-use by Hello (e10s only)
This bug should not block e10s because it's not a typical use case.
tracking-e10s: --- → -
unlikely scenario - and highhly likely to be fixed with things we need to address for e10s
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.