Closed Bug 1568430 Opened 5 years ago Closed 5 years ago

navigator.mediaDevices.getUserMedia does not render or get recorded in OS X

Categories

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

68 Branch
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1593161

People

(Reporter: bugzillaton, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

macOS 10.14.5, Firefox 65.0 through Firefox 68.0.1

Steps to Reproduce

  1. Opened a local copy of Firefox
  2. Pasted https://developer.mozilla.org/en-US/docs/Web/API/MediaStream_recording_API/Recording_a_media_element#Result into the navigation bar and pressed Return.
  3. Clicked on the Start Button after the page loaded.
  4. Clicked the "Allow" Button on the confirmation dialog "Will you allow mdn.mozillademos.org to use your camera and microphone?"

Alternatively, an even simpler example is:

<!DOCTYPE html>
<video id="preview" autoplay="autoplay" muted="muted"></video>
<script>
let preview = document.getElementById("preview");
navigator.mediaDevices.getUserMedia({
  video: true,
  audio: true
}).then(stream => preview.srcObject = stream);
</script>

Actual results:

The Preview Video did not update, and after five seconds there is a message "Successfully recorded 0 bytes of video/webm media." The Recording Video element is replaced with an error image that says "No video with supported format and MIME type"

Expected results:

The Preview Video should have updated with a live video of the webcamera, and after five seconds there should have been a 5 second recording of that video in the Recording Video element. There should have been a message of "Successfully recorded [large number] bytes of video/webm media".

Firefox 64.0.2 behaves as expected

For me, this behavior does not occur in Firefox 64.0.2, but does in Firefox 65.0

On a different note, replacing navigator.mediaDevices.getUserMedia with navigator.mediaDevices.getDisplayMedia, renders the preview element and records correctly.

Component: Untriaged → WebRTC: Audio/Video
Product: Firefox → Core

jib, does that make any sense to you?

Flags: needinfo?(jib)

Hi bugzillaton, thanks for reporting! Since the simpler of the two examples does not include recording, I assume the problem to be specifically that your camera is not working in Firefox 65+ but it worked in 64.0.2 and earlier? Is that right?

Can you confirm using: https://jsfiddle.net/jib1/r60bzmrs/ If the video does not appear here, do you get an error message from that? If so, please include it here, as it might be informative.

We're unable to reproduce this. Would you mind installing the mozregression tool from https://mozilla.github.io/mozregression/install.html and running it to determine exactly in which nightly version of Firefox this regression happened?

A successful regression range should give us enough information to pinpoint the problem and hopefully fix this. Thanks!

Flags: needinfo?(jib) → needinfo?(bugzillaton)

Thanks for the quick response! Just confirming that the camera worked in 64.0.2 and doesn't work in 65+. I tried two USB cameras and they did work in Firefox 68.0.1, so it does look like it's an issue with the built-in FaceTime camera (Early 2015 Macbook). I was also able to replicate the issue on a 2017 Macbook, with its built-in FaceTime camera on Firefox 68. According to the System Information App, apparently they use the same camera (Apple Camera VendorID_0x106B ProductID_0x1570).

I'll try run mozregression at some point, but don't currently have sudo access to install pip or mozregression. For me, using an external USB camera adequately fulfills my use cases for now.

Thanks!

Also forgot to mention that the fiddle doesn't show any messages in console (other than Array.slice/Array.forEach/Array.filter being deprecated, though that seems to come from jsfiddle), and it doesn't show any video before or after I allow access to my FaceTime camera.

Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
Flags: needinfo?(bugzillaton)
You need to log in before you can comment on or make changes to this bug.