Closed Bug 1439997 Opened 2 years ago Closed 9 months ago

Switch OS X video capture to new version of webrtc.org code

Categories

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

60 Branch
defect

Tracking

()

VERIFIED FIXED
mozilla66
Tracking Status
firefox60 --- wontfix
firefox65 --- verified
firefox66 --- verified

People

(Reporter: dminor, Assigned: dminor)

References

(Blocks 1 open bug)

Details

Attachments

(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 webrtc.org 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
Status: NEW → ASSIGNED
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
code.

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 dminor@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e79251fa381c
Remove old mac video capture code; r=jib
https://hg.mozilla.org/integration/autoland/rev/7924a0ccd7a3
Fix ondevicechange event on OS X; r=jib
Status: ASSIGNED → RESOLVED
Closed: 9 months 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 webrtc.org 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.

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