Namespace Microsoft.MixedReality.WebRTC
Classes
DataChannel
Encapsulates a data channel of a peer connection.
A data channel is a pipe allowing to send and receive arbitrary data to the remote peer. Data channels are based on DTLS-SRTP, and are therefore secure (encrypted). Exact security guarantees are provided by the underlying WebRTC core implementation and the WebRTC standard itself.
https://tools.ietf.org/wg/rtcweb/
An instance of DataChannel is created by calling AddDataChannelAsync(String, Boolean, Boolean) or one of its variants. DataChannel cannot be instantiated directly.
I420VideoFrameStorage
Storage for a video frame encoded in I420 format.
IceServer
ICE server configuration (STUN and/or TURN).
MovingAverage
Utility to manage a moving average of a time series.
PeerConnection
The WebRTC peer connection object is the entry point to using WebRTC.
PeerConnection.LocalVideoTrackSettings
Settings for adding a local video track.
PeerConnectionConfiguration
Configuration to initialize a PeerConnection.
TaskExtensions
Collection of extension methods for Task.
VideoFrameQueue<T>
Small queue of video frames received from a source and pending delivery to a sink. Used as temporary buffer between the WebRTC callback (push model) and the video player rendering (pull model). This also handles dropping frames when the source is faster than the sink, by limiting the maximum queue length.
Structs
ARGBVideoFrame
Single video frame encoded in ARGB interleaved format (32 bits per pixel).
AudioFrame
Single raw uncompressed audio frame.
I420AVideoFrame
Single video frame encoded in I420A format (triplanar YUV + alpha, 18 bits per pixel). See e.g. https://wiki.videolan.org/YUV/#I420 for details.
VideoCaptureDevice
Identifier for a video capture device.
VideoCaptureFormat
Capture format for a video track.
Interfaces
IVideoFrameQueue
Interface for a queue of video frames.
IVideoFrameStorage
Interface for a storage of a single video frame.
Enums
BundlePolicy
Bundle policy. See https://www.w3.org/TR/webrtc/#rtcbundlepolicy-enum.
DataChannel.ChannelState
Connecting state of a data channel, when adding it to a peer connection or removing it from a peer connection.
IceConnectionState
State of an ICE connection.
IceTransportType
Type of ICE candidates offered to the remote peer.
PeerConnection.FrameHeightRoundMode
Frame height round mode.
PeerConnection.TrackKind
Kind of WebRTC track.
PeerConnection.VideoProfileKind
Kind of video profile. This corresponds to the
SdpSemantic
SDP semantic used for (re)negotiating a peer connection.
Delegates
ARGBVideoFrameDelegate
Delegate used for events when an ARGB-encoded video frame has been produced and is ready for consumption.
AudioFrameDelegate
Delegate used for events when an audio frame has been produced and is ready for consumption.
DataChannel.BufferingChangedDelegate
Delegate for the BufferingChanged event.
I420VideoFrameDelegate
Delegate used for events when an I420-encoded video frame has been produced and is ready for consumption.
PeerConnection.DataChannelAddedDelegate
Delegate for DataChannelAdded event.
PeerConnection.DataChannelRemovedDelegate
Delegate for DataChannelRemoved event.
PeerConnection.IceCandidateReadytoSendDelegate
Delegate for the IceCandidateReadytoSend event.
PeerConnection.IceStateChangedDelegate
Delegate for the IceStateChanged event.
PeerConnection.LocalSdpReadyToSendDelegate
Delegate for LocalSdpReadytoSend event.