Remove network thread blocking call from CreateChannel Refactor the CreateChannel method in RtpTransceiver to remove the inline BlockingCall to the network thread and utilize ScopedOperationsBatcher to handle network thread operations. The batcher allows the network thread tasks—specifically setting the RTP transport and retrieving the transport name—to be queued. A finalizer task is then used to safely update the transport name on the signaling thread once the network operations are complete. Updates include: * Modified RtpTransceiver::CreateChannel to accept a batcher reference. * Updated SdpOfferAnswerHandler to initialize and execute network task batches during SDP negotiations. * Adjusted unit tests to accommodate the batcher-based flow. RenegotiateManyVideoTransceiversAndWatchAudioDelay comparison runs of blocking calls (peak values) with and without this change: Operation this CL origin/main delta ApplyLocalDescription 25 30 -5 ApplyRemoteDescription 22 32 -10 DoSetLocalDescription 26 31 -5 DoSetRemoteDescription 22 32 -10 Close 22 23 -1 Bug: webrtc:42222804 Change-Id: Ic585aa9d01b838a0366735013d58b541a41efd0f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/463000 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47415}
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.