Build a new E2EE context instance, which will be used in a given conference.
Optional
__namedParameters: boolean = {}Cleans up all state associated with the given participant. This is needed when a participant leaves the current conference.
The participant that just left.
Cleans up all state associated with all participants in the conference. This is needed when disabling e2ee.
Handles the given {@code RTCRtpReceiver} by creating a {@code TransformStream} which will inject a frame decoder.
The receiver which will get the decoding function injected.
The kind of track this receiver belongs to.
The participant id that this receiver belongs to.
Handles the given {@code RTCRtpSender} by creating a {@code TransformStream} which will inject a frame encoder.
The sender which will get the encoding function injected.
The kind of track this sender belongs to.
The participant id that this sender belongs to.
Set the E2EE enabled state.
whether E2EE is enabled or not.
Set the E2EE key for the specified participant.
the ID of the participant who's key we are setting.
they key for the given participant.
the key index.
Context encapsulating the cryptography bits required for E2EE. This uses the WebRTC Insertable Streams API which is explained in https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md that provides access to the encoded frames and allows them to be transformed.
The encoded frame format is explained below in the _encodeFunction method. High level design goals were: