webrtc/modules/video_capture/linux
Michael Olbrich a9d497b52d Video capture PipeWire: fix thread and lock annotations
There are two threads involved here, the thread that calls the API
functions and the pipwire main loop. Using one race checker for both is
wrong and triggers aborts.

Use a different race checker for all variables that are used by the
pipewire main loop or guarded against concurrent access with the
thread_loop_lock.

In one case, two RTC_CHECK_RUNS_SERIALIZED() checks are needed, so
enhance the macro to generate unique variable names.

Bug: webrtc:15181
Change-Id: Ib41514eb7aa98fe85d830461aa0c71e42ba821bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326781
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41198}
2023-11-20 18:18:04 +00:00
..
camera_portal.cc Video capture PipeWire: clear notifier after use and upon destruction 2023-11-15 13:59:24 +00:00
camera_portal.h PipeWire video capture: split portal and PipeWire implementations 2023-05-25 17:04:53 +00:00
device_info_linux.cc Add pipewire/portal video capture support 2023-02-02 17:20:04 +00:00
device_info_pipewire.cc DeviceInfoPipeWire: move include for PipeWireSession out of the header 2023-11-15 10:49:56 +00:00
device_info_pipewire.h DeviceInfoPipeWire: move include for PipeWireSession out of the header 2023-11-15 10:49:56 +00:00
device_info_v4l2.cc Support more pixel formats in v4l2 camera backend 2023-05-03 14:22:36 +00:00
device_info_v4l2.h Split out V4L2 specific code in the Linux Capture backend 2022-05-11 08:25:53 +00:00
pipewire_session.cc Video Capture PipeWire: Filter out non-camera nodes 2023-09-06 10:55:36 +00:00
pipewire_session.h Video capture PipeWire: guard callback to avoid concurrent access 2023-07-24 14:48:33 +00:00
video_capture_linux.cc Add pipewire/portal video capture support 2023-02-02 17:20:04 +00:00
video_capture_pipewire.cc Video capture PipeWire: fix thread and lock annotations 2023-11-20 18:18:04 +00:00
video_capture_pipewire.h Video capture PipeWire: fix thread and lock annotations 2023-11-20 18:18:04 +00:00
video_capture_v4l2.cc In VideoCaptureImpl and subclasses add thread and lock annotations 2023-06-22 13:34:40 +00:00
video_capture_v4l2.h In VideoCaptureImpl and subclasses add thread and lock annotations 2023-06-22 13:34:40 +00:00