Remove blocking calls from the stats gathering path in RTCStatsCollector Improve tests for CancelPendingRequestAndGetShutdownTasks to more accurately simulate multithreaded shutdown. Any pending operations are cancelled as before, but CancelPendingRequestAndGetShutdownTasks will now optionally issue the pending callbacks immediately while also canceling pending async operations without blocking. Remove WaitForPendingRequest which was previously called from PC::Close. The dependency on the transport controller is not a concern anymore. * Introduce `worker_safety_` to guard tasks running on the worker thread. * Refactor `PrepareTransceiverStatsInfosAndCallStats_s_w` to return an `absl::AnyInvocable` and pass data via function arguments instead of storing intermediate results in `collection_context_`. * Remove `network_report_event_` as manual synchronization is no longer needed. * Ensure pending requests receive callbacks immediately during shutdown or are safely dropped if the collector is destroyed. Bug: webrtc:42222804 Change-Id: Ibb576e46dfa77e95c072d99282f6780a6df46458 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/443460 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#46747}
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.