Sframe API support for sender and receiver This CL introduces the public API surface for Sframe (Secure Frame) encryption and decryption on RTP senders and receivers. The actual pipeline wiring is deferred to a follow-up CL; all factory methods currently return nullptr. New API headers (api/sframe/): - sframe_types.h: shared enums SframeMode (per-frame / per-packet) and SframeCipherSuite (AES-CTR-HMAC variants, AES-GCM-128/256). - sframe_encrypter_interface.h: SframeEncrypterInit config struct and SframeEncrypterInterface for sender-side key management (SetEncryptionKey). - sframe_decrypter_interface.h: SframeDecrypterInit config struct and SframeDecrypterInterface for receiver-side key management (AddDecryptionKey, RemoveDecryptionKey). Interface changes: - RtpSenderInterface gains CreateSframeEncrypter(SframeEncrypterInit) - RtpReceiverInterface gains CreateSframeDecrypter(SframeDecrypterInit) - Both proxy files updated with corresponding PROXY_METHOD entries. New RtpReceiverBase class introduced inheriting RtpReceiverInternal, providing CreateSframeDecrypter. This mirrors the existing RtpSenderBase pattern. AudioRtpReceiver and VideoRtpReceiver now inherit RtpReceiverBase instead of RtpReceiverInternal, eliminating future code duplication. Bug: webrtc:479862368 Change-Id: I2d62b61f2d10325d8dca9f15f08a0eb0509eed01 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/452260 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47224}
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.