Update video capture code on OS X
Categories
(Core :: WebRTC: Audio/Video, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox110 | --- | fixed |
People
(Reporter: pehrsons, Assigned: pehrsons)
References
(Blocks 1 open bug)
Details
Attachments
(6 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Updated•7 years ago
|
Updated•6 years ago
|
Comment 1•6 years ago
|
||
Comment 2•6 years ago
|
||
Chromium has stopped using the webrtc.org video capture code and now uses it's own variant (under src/media/capture). We need to decide whether we want to continue using the webrtc.org code, which is not being actively maintained by upstream or do the work to switch to using the Chromium video capture code.
If we stick with the webrtc.org code, we're stuck doing the maintenance and updates, which could be substantial. For instance, the webrtc.org code does not support MediaFoundation on Windows, which caused problems with using the camera on aarch64 windows. It does appear that Safari uses the webrtc.org code, for instance Bug 1530792 reproduces on Safari, but not Chrome.
If we switch to using the Chromium code, we're stuck depending upon another internal API over which we have no control. Offhand, I'd say it's even less likely we'll be able to upstream our local changes to Chromium than to webrtc.org. We would have to evaluate how much internal Chromium code the capture code depends upon. This could end up basically being a fork rather than something we can update from on a regular basis.
I'm changing the summary to emphasize this is not an update, but a complete switchover.
Comment 3•6 years ago
|
||
I take back what I said about Bug 1530792, I can't get Safari to give me an option of what webcam to use, and the builtin camera on my Macbook is not capable of 1920x1280.
Comment 6•6 years ago
|
||
It does appear that Safari uses the webrtc.org code, for instance Bug 1530792 reproduces on Safari, but not Chrome.
WebKit does not use libwebrtc for capture. The capture code for the macOS and iOS ports are here, the code for the GTK port is here.
If bug 1530792 reproduced in Safari (it works in TOT), it must have been a conicidence.
Comment 7•6 years ago
|
||
(In reply to Eric Carlson from comment #6)
It does appear that Safari uses the webrtc.org code, for instance Bug 1530792 reproduces on Safari, but not Chrome.
WebKit does not use libwebrtc for capture. The capture code for the macOS and iOS ports are here, the code for the GTK port is here.
If bug 1530792 reproduced in Safari (it works in TOT), it must have been a conicidence.
Yes, that was my mistake, I was testing with the builtin camera on my Macbook, which is not capable of the higher resolutions. Thanks for the clarification.
Updated•6 years ago
|
Updated•6 years ago
|
Comment 8•5 years ago
|
||
The OS X video capture code which we are using has also been removed from upstream [1]. The Windows and Linux code seems to be maintained, however.
Comment 9•5 years ago
|
||
Looks like Android camera code has resurfaced in webrtc.org: https://cs.chromium.org/chromium/src/third_party/webrtc/sdk/android/api/org/webrtc/CameraVideoCapturer.java
Comment 10•5 years ago
|
||
I updated the Android camera code in Bug 1578073, so let's make this one about updating OS X.
Comment 11•4 years ago
|
||
There is OS X video capture code in libwebrtc here: https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/sdk/objc/components/capturer/RTCCameraVideoCapturer.m. That will probably be easier than switching to Chromium's code.
Assignee | ||
Updated•4 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Comment 12•3 years ago
|
||
There were no updates for quite a while. Unfortunately, that bug makes Firefox unusable for a good portion of users who want to capture a Full HD webcam.
Are there any plans to update libwebrtc?
Assignee | ||
Comment 13•2 years ago
|
||
I plan to integrate the newer libwebrtc camera backend for mac, to see what that gets us.
Assignee | ||
Comment 14•2 years ago
|
||
This is quite ready to go up for review, but I want to have it hooked up to the PerformanceRecorder before pushing.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 15•2 years ago
|
||
Assignee | ||
Comment 16•2 years ago
|
||
Assignee | ||
Comment 17•2 years ago
|
||
Assignee | ||
Comment 18•2 years ago
|
||
Assignee | ||
Comment 19•2 years ago
|
||
Assignee | ||
Comment 20•2 years ago
|
||
Comment 21•2 years ago
|
||
Comment 22•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/1f6355b0d42c
https://hg.mozilla.org/mozilla-central/rev/b06588889693
https://hg.mozilla.org/mozilla-central/rev/49002523b70d
https://hg.mozilla.org/mozilla-central/rev/703360f0b861
https://hg.mozilla.org/mozilla-central/rev/04d6fcc72269
https://hg.mozilla.org/mozilla-central/rev/a7362238c9e6
Description
•