Wire Sframe enable callback through sender and receiver constructors. This CL implements the C++ plumbing for the SFrame enable signal described in the WebRTC Encoded Transform spec (https://w3c.github.io/webrtc-encoded-transform/#attribute, Section 2.2). Per the spec, when an SFrame transform is set on an RTCRtpSender or RTCRtpReceiver, the setter must propagate [[useSFrame]] = true to the owning RTCRtpTransceiver and trigger SDP renegotiation. If the transceiver's [[useSFrame]] has already been negotiated to false, it must throw InvalidModificationError. This is modeled by wiring an on_sframe_enable_requested callback from each sender/receiver to RtpTransceiver::TryToEnableSframe(). When the application calls CreateSframeEncrypterOrError() (sender) or CreateSframeDecrypterOrError() (receiver), the callback fires, which sets sframe_enabled_ = true on the transceiver and triggers on_negotiation_needed_(). After negotiation completes, ApplySframeEnabled() locks the state — matching the spec's behavior where [[useSFrame]] becomes immutable once associated with a media description. Bug: webrtc:479862368 Change-Id: Ie5edd365aa4896bfda44cf34a2ab52dfe32bb441 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/459460 Reviewed-by: Philip Eliasson <philipel@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47536}
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.