Allow injecting MediaSendChannel into RtpSender at construction time. Slightly refactor `RtpSender` and its subclasses (`AudioRtpSender`, `VideoRtpSender`) to accept, but not yet require, the `MediaSendChannelInterface` at construction time. Previously, the channel was always set via `SetMediaChannel` immediately after creation, which is more complex but can be avoided. This change allows for stricter threading assertions within `RtpSender`. Several methods accessing `media_channel_` are now guarded with `RTC_DCHECK_RUN_ON(worker_thread_)` to clarify thread safety. Updates `RtpTransmissionManager` for PlanB (UP requires more work), to pass the appropriate voice or video media channel when creating senders, and adjusts `RtpSenderReceiverTest` to match the new constructor signatures. Bug: none Change-Id: Iad3691d1dbccded53716066bb199d6e1f0e0e40a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431240 Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#46405}
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.