commit | 823c70209e619c8f278e8abae35c9e7816579eff | [log] [tgz] |
---|---|---|
author | Andreas Pehrson <apehrson@mozilla.com> | Mon May 22 08:52:17 2023 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Jun 15 14:16:59 2023 |
tree | 117943e4b22255a276612f1666380c3ce8a00881 | |
parent | 51b82067cabf9b2e15454b15e3cf9760230e4fcb [diff] |
In VideoCaptureV4L2 use requested/configured capability VideoCaptureV4L2 has some members that are set in StartCapture during configuration of the device, but later accessed both on the capture thread and on the api thread (same as StartCapture) in CaptureSettings(), which can be called at any time. This is safe because they are written only on the api thread when the capture thread is not running. However, there is no helper class that separates the read and write modes to allow annotations and static analysis of the thread access of these members. This commit allows annotations to be added by making VideoCaptureV4L2 use: - VideoCaptureImpl::_requestedCapability for storing those members requested through StartCapture(), to allow access on the api thread through CaptureSettings(). - A new member configured_capability_ to replace those members mentioned in the first paragraph above. Writes to it happen only in StartCapture() and StopCapture(), while reads happen exclusively on the capture thread in between. Bug: webrtc:15181 Change-Id: I27e0f578e6ac2a2e6b0e34fbabfe4f743b296321 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306122 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/main@{#40290}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.