Windows: fix a crash between two Windows example clients running on same machine and fighting for the camera. With this change both sides stay stable and video continues. Also tested with 2+ cameras on single device. Both clients grab their own camera and stay connected even if I remove a camera in the middle of a call. - Manage local video capturer lifetime in Conductor: hold a ref to CapturerTrackSource and release it after DeletePeerConnection(), replacing the async PostTask destruction path in CapturerTrackSource and avoiding the Windows embedded camera crash. - Tolerate Windows camera drivers that switch delivery threads by removing the single-thread DCHECK at the start of CaptureInputPin::Receive. - Stop the remote renderer when a remote track is removed to avoid rendering a stale frame after the video track ends. - Scope: examples/peerconnection client and Windows capture; no changes on other platforms. Changes: Bug: webrtc:457610948 Change-Id: Ifcc848661dabafb7ef5696df1fdb360219ddd31d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/422881 Auto-Submit: Gregory Bolshakov <gubidonius@gmail.com> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Per Kjellander <perkj@webrtc.org> Commit-Queue: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/main@{#46141}
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.