Closed Bug 1439997 Opened 7 years ago Closed 6 years ago

Switch OS X video capture to new version of code


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

60 Branch



Tracking Status
firefox60 --- wontfix
firefox65 --- verified
firefox66 --- verified


(Reporter: dminor, Assigned: dminor)




(2 files)

We've been using a locally patched older version of the OS X video capture code. We should switch over to the newer version in a controlled fashion, rather than by accident (e.g. Bug 1374938, Bug 1436959). Beyond the ondevicechanged event, there seems to be some threading differences as we're seeing a crash with the newer code (Bug 1438554).

It probably makes sense to do this after the next update lands (Bug 1376873).
Marking this as blocking any future update as we really need to get this sorted out. This happened again with the Branch 64 update (see Bug 1515461.)
The older version of the OS X code is now too old to be practical to switch to, so we need to get ondevicechanged working with the new version.
Assignee: nobody → dminor
This code is no longer used and has been removed upstream. We can remove
it as well.
This brings the changes from Bug 1286429 that were made to the older
mac/avfoundation video capture code to the newer objc video capture

Depends on D15196
I've done my best to bring forward Munro's work from Bug 1286429, but I have to admit I'm not very familiar with ObjC. I tested with the steps from Bug 1436959, which was the most recent regression of this behaviour.
Review ping for the second patch in the series :)
Flags: needinfo?(jib)
Flags: needinfo?(jib)
Pushed by
Remove old mac video capture code; r=jib
Fix ondevicechange event on OS X; r=jib
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
Depends on: 1518744

Comment on attachment 9032935 [details]
Bug 1439997 - Fix ondevicechange event on OS X; r=jib

[Beta/Release Uplift Approval Request]

Feature/Bug causing the regression: Bug 1376873

User impact if declined: The ondevicechange events will not work on OS X, e.g. when a camera is unplugged.

Is this code covered by automated tests?: No

Has the fix been verified in Nightly?: Yes

Needs manual test from QE?: Yes

If yes, steps to reproduce: You can use the steps from Bug 1436959.

List of other uplifts needed: Bug 1518744

Risk to taking this patch: Medium

Why is the change risky/not risky? (and alternatives if risky): This brings forward some of the code from Bug 1286429 to work with the newer video capture backend introduced with the branch update in Bug 1376873. Although the code is not completely new, some rewriting was required, and one crash was introduced and fixed (Bug 1518744). Since this has not been on Nightly for long, there is a risk that other issues are present that have not shown up yet.

String changes made/needed: None.

Attachment #9032935 - Flags: approval-mozilla-beta?
Flags: qe-verify+

Comment on attachment 9032935 [details]
Bug 1439997 - Fix ondevicechange event on OS X; r=jib

[Triage Comment]
Fixes a macOS video capture regression introduced by the WebRTC update shipped in Fx64. Approved for 65.0b11. Let's get some QA on this as well given the medium risk of the change.

Attachment #9032935 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

I reproduced this issue using Fx 60.0a1(2018-02-20), on macOS 10.13.6.
I can confirm this issue is fixed on Fx 66(2019-01-14). I will come back after Fx 65.0b11 is available.

Reproduced the issue with 65.0b10 on macOS 10.11
Verified the fix on Ffx 65.0b11.

Flags: qe-verify+
No longer depends on: 1646904
You need to log in before you can comment on or make changes to this bug.