Enable End-to-End Encrypted Video Frames.
This change integrates the FrameDecryptorInterface and the FrameEncryptorInterface into the video send and receive path. If a FrameEncryptorInterface is set on an outgoing video RTPSender then each outgoing video frame will first pass through the provided FrameEncryptor which will have a chance to modify the payload contents for the purposes of encryption. In addition to this the new GenericFrameDescriptor will be added as additional data. If a FrameDecryptorInterface is set on an incoming video RtpReceiver then each incoming video payload will first pass through the provided FrameDecryptor which have a chance to modify the payload contents for the purpose of decryption. Bug: webrtc:9795 Change-Id: I9f743ce0cb63df0cf070f6144be7ada078b4e5d2 Reviewed-on: https://webrtc-review.googlesource.com/c/103920 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Commit-Queue: Benjamin Wright <benwright@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25258}
This commit is contained in:

committed by
Commit Bot

parent
6714bf9f18
commit
192eeec14d
@ -28,6 +28,7 @@
|
||||
namespace webrtc {
|
||||
|
||||
// Forward declarations.
|
||||
class FrameEncryptorInterface;
|
||||
class OverheadObserver;
|
||||
class RateLimiter;
|
||||
class ReceiveStatisticsProvider;
|
||||
@ -97,6 +98,11 @@ class RtpRtcp : public Module, public RtcpFeedbackSenderInterface {
|
||||
// Update network2 instead of pacer_exit field of video timing extension.
|
||||
bool populate_network2_timestamp = false;
|
||||
|
||||
// E2EE Custom Video Frame Encryption
|
||||
FrameEncryptorInterface* frame_encryptor = nullptr;
|
||||
// Require all outgoing frames to be encrypted with a FrameEncryptor.
|
||||
bool require_frame_encryption = false;
|
||||
|
||||
private:
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(Configuration);
|
||||
};
|
||||
|
Reference in New Issue
Block a user