Closed Bug 1863041 Opened 1 year ago Closed

Camera capture limited to built-in cameras on macOS

Categories

(Core :: WebRTC, defect, P1)

Unspecified
macOS
defect

Tracking

()

VERIFIED FIXED
121 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox119 --- unaffected
firefox120 --- unaffected
firefox121 + verified

People

(Reporter: ng, Assigned: ng)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

This was introduced in 120 in the libwebrtc update.

Set release status flags based on info from the regressing bug 1857862

(In reply to Nico Grunbaum [:ng, @chew:mozilla.org] from comment #0)

This was introduced in 120 in the libwebrtc update.

The linked regressed by bug was for the update that landed for 121. Did you mean to use bug 1851693?

Flags: needinfo?(na-g)
Summary: Camera capture limitted to built-in cameras on macOS → Camera capture limited to built-in cameras on macOS

He meant 121. This is the only candidate commit.

Flags: needinfo?(na-g)

[Tracking Requested - why for this release]: external webcams not usable on MacOS.

(In reply to Andreas Pehrson [:pehrsons] from comment #3)

He meant 121. This is the only candidate commit.

This reproduces with ./mach mozregression --launch 120.

pehrsons, yeah, I had found that hunk and modified it to include external camera types:

+ (NSArray<AVCaptureDevice*>*)captureDevices {
  AVCaptureDeviceDiscoverySession* session = [AVCaptureDeviceDiscoverySession
      discoverySessionWithDeviceTypes:@[
        AVCaptureDeviceTypeBuiltInWideAngleCamera,
        AVCaptureDeviceTypeExternalUnknown
      ]
                            mediaType:AVMediaTypeVideo
                             position:AVCaptureDevicePositionUnspecified];
  return session.devices;
}

That does populate the gUM prompt correctly, however, we no longer get frames.

Regressed by: 1851693
No longer regressed by: 1857862

Is there a permissions problem perhaps? It works fine for me in 120b8 (dev edition).

Regressed by: 1857862
No longer regressed by: 1851693

(In reply to Andreas Pehrson [:pehrsons] from comment #6)

Is there a permissions problem perhaps? It works fine for me in 120b8 (dev edition).
Ah, ./mach mozregression --launch FIREFOX_120_0b6_RELEASE --repo mozilla-beta works.
./mach mozregression --launch 120 launches 121.0a1...

Duplicate of this bug: 1863444
Attachment #9362270 - Attachment description: Bug 1863041 - allow access to more than just built-in cameras on macOS;r?pehrsons → Bug 1863041 - P1 - allow access to more than just built-in cameras on macOS;r?pehrsons
Pushed by na-g@nostrum.com: https://hg.mozilla.org/integration/autoland/rev/504805344eef P1 - allow access to more than just built-in cameras on macOS;r=pehrsons,webrtc-reviewers

The parent-child relationship between P0 and P1 was not set in Phabricator, so only P1 landed. This is likely because I created P1 first and later rebased it onto P0.

Flags: needinfo?(na-g)
Pushed by na-g@nostrum.com: https://hg.mozilla.org/integration/autoland/rev/91a763d768b7 P0 - add device filter control to RTCCameraVideoCapturer;r=pehrsons,webrtc-reviewers https://hg.mozilla.org/integration/autoland/rev/eb78feb610e5 P1 - allow access to more than just built-in cameras on macOS;r=pehrsons,webrtc-reviewers
Status: NEW → RESOLVED
Closed: 1 year ago
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 121 Branch
Duplicate of this bug: 1864991

Reproduced the initial issue on Nightly 121.0a1 (Build ID: 20231109123600).

Verified as fixed on Firefox 120.0b7 and on the latest Nightly 122.0a1 - camera capture is no longer limited to built-in cameras. I tested by requesting camera permissions on https://permission.site/ using a Microsoft LifeCam HD-3000 camera on a macOS 13 MacBook.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: