webrtc library Null safety

WebRTC 1.0: Real-Time Communication Between Browsers

https://w3c.github.io/webrtc-pc/

Classes

RTCAnswerOptions
RTCCertificate
The interface of the WebRTC API provides an object represents a certificate that an RTCPeerConnection uses to authenticate.
RTCCertificateExpiration
RTCConfiguration
RTCDataChannel
The interface represents a network channel which can be used for bidirectional peer-to-peer transfers of arbitrary data. Every data channel is associated with an RTCPeerConnection, and each peer connection can have up to a theoretical maximum of 65,534 data channels (the actual limit may vary from browser to browser). To create a data channel and ask a remote peer to join you, call the RTCPeerConnection's createDataChannel() method. The peer being invited to exchange data receives a datachannel event (which has type RTCDataChannelEvent) to let it know the data channel has been added to the connection.
RTCDataChannelEvent
The interface represents an event related to a specific RTCDataChannel.
RTCDataChannelEventInit
RTCDataChannelInit
RTCDtlsFingerprint
RTCDtlsTransport
The interface provides access to information about the Datagram Transport Layer Security (DTLS) transport over which a RTCPeerConnection's RTP and RTCP packets are sent and received by its RTCRtpSender and RTCRtpReceiver objects. A object is also used to provide information about SCTP packets transmitted and received by an connection's data channels. Features of the DTLS transport include the addition of security to the underlying transport; the interface can be used to obtain information about the underlying transport and the security added to it by the DTLS layer.
RTCDTMFSender
The interface provides a mechanism for transmitting DTMF codes on a WebRTC RTCPeerConnection. You gain access to the connection's through the RTCRtpSender.dtmf property on the audio track you wish to send DTMF with. The primary purpose for WebRTC's DTMF support is to allow WebRTC-based communication clients to be connected to a public-switched telephone network (PSTN) or other legacy telephone service, including extant voice over IP (VoIP) services. For that reason, DTMF can't be used between two WebRTC-based devices, because there is no mechanism provided by WebRTC for receiving DTMF codes.
RTCDTMFToneChangeEvent
The interface represents events sent to indicate that DTMF tones have started or finished playing. This interface is used by the tonechange event.
RTCDTMFToneChangeEventInit
RTCError
The interface describes an error which has occurred while handling WebRTC operations. It's based upon the standard Exception interface that describes general DOM errors.
RTCErrorEvent
The WebRTC API's interface represents an error sent to a WebRTC object. It's based on the standard Event interface, but adds RTC-specific information describing the error, as shown below.
RTCErrorEventInit
RTCErrorInit
RTCIceCandidate
The interface—part of the WebRTC API—represents a candidate Interactive Connectivity Establishment (ICE) configuration which may be used to establish an RTCPeerConnection. An ICE candidate describes the protocols and routing needed for WebRTC to be able to communicate with a remote device. When starting a WebRTC peer connection, typically a number of candidates are proposed by each end of the connection, until they mutually agree upon one which describes the connection they decide will be best. WebRTC then uses that candidate's details to initiate the connection. For details on how the ICE process works, see Lifetime of a WebRTC session. The article WebRTC connectivity provides additional useful details.
RTCIceCandidateInit
RTCIceCandidatePair
The dictionary describes a pair of ICE candidates which together comprise a description of a viable connection between two WebRTC endpoints. It is used as the return value from RTCIceTransport.getSelectedCandidatePair() to identify the currently-selected candidate pair identified by the ICE agent.
RTCIceParameters
The dictionary specifies the username fragment and password assigned to an ICE session. During ICE negotiation, each peer's username fragment and password are recorded in an object, which can be obtained from the RTCIceTransport by calling its getLocalParameters() or getRemoteParameters() method, depending on which end interests you.
RTCIceServer
The dictionary defines how to connect to a single ICE server (such as a STUN or TURN server). Objects of this type are provided in the configuration of an RTCPeerConnection, in the iceServers array.
RTCIceTransport
The interface provides access to information about the ICE transport layer over which the data is being sent and received. This is particularly useful if you need to access state information about the connection.
RTCLocalSessionDescriptionInit
RTCOfferAnswerOptions
RTCOfferOptions
RTCPeerConnection
The interface represents a WebRTC connection between the local computer and a remote peer. It provides methods to connect to a remote peer, maintain and monitor the connection, and close the connection once it's no longer needed.
RTCPeerConnectionIceErrorEvent
The interface—based upon the Event interface—provides details pertaining to an ICE error announced by sending an icecandidateerror event to the RTCPeerConnection object.
RTCPeerConnectionIceErrorEventInit
RTCPeerConnectionIceEvent
The interface represents events that occur in relation to ICE candidates with the target, usually an RTCPeerConnection. Only one event is of this type: icecandidate.
RTCPeerConnectionIceEventInit
RTCRtcpParameters
The dictionary provides parameters of an RTCP connection. It's used as the value of the rtcp property of the parameters of an RTCRtpSender or RTCRtpReceiver.
RTCRtpCapabilities
The dictionary is a data type used to describe the capabilities of an RTCRtpSender or RTCRtpReceiver in response to a call to the RTCRtpSender.getCapabilities() or RTCRtpReceiver.getCapabilities() static functions, both of which return an array of objects. An object contains an array of objects conforming to RTCRtpCodecCapability (each describing the capabilities of one codec) and an array of the supported RTP header extensions for that codec.
RTCRtpCodecCapability
The WebRTC API's dictionary provides information describing the capabilities of a single media codec.
RTCRtpCodecParameters
The dictionary, part of the WebRTC API, is used to describe the configuration parameters for a single media codec. In addition to being the type of the RTCRtpParameters.codecs property, it's used when calling RTCRtpTransceiver.setCodecPreferences() to configure a transceiver's codecs before beginning the offer/answer process to establish a WebRTC peer connection. Most of the fields in this property take values which are defined and maintained by the Internet Assigned Numbers Authority (IANA). References to relevant IANA documents are provided in the see also section at the end of this article.
RTCRtpCodingParameters
RTCRtpContributingSource
The dictionary of the WebRTC API is used by getContributingSources() to provide information about a given contributing source (CSRC), including the most recent time a packet that the source contributed was played out. The information provided is based on the last ten seconds of media received.
RTCRtpEncodingParameters
An instance of the WebRTC API's dictionary describes a single configuration of a codec for an RTCRtpSender. This dictionary is used in the RTCRtpSendParameters describing the configuration of an RTP sender's encodings; RTCRtpDecodingParameters is used to describe the configuration of an RTP receiver's encodings.
RTCRtpHeaderExtensionCapability
RTCRtpHeaderExtensionParameters
RTCRtpParameters
The dictionary is the basic object describing the parameters of an RTP transport. It is extended separately for senders and receivers in the form of the RTCRtpSendParameters and RTCRtpReceiveParameters dictionaries. To obtain the parameters of a sender or receiver, call its getParameters() method:
RTCRtpReceiveParameters
The dictionary, based upon the RTCRtpParameters dictionary, is returned by the RTCRtpReceiver method getParameters(). It describes the parameters being used by the receiver's RTP connection to the remote peer.
RTCRtpReceiver
The interface of the WebRTC API manages the reception and decoding of data for a MediaStreamTrack on an RTCPeerConnection.
RTCRtpSender
The interface provides the ability to control and obtain details about how a particular MediaStreamTrack is encoded and sent to a remote peer. With it, you can configure the encoding used for the corresponding track, get information about the device's media capabilities, and so forth. You can also obtain access to an RTCDTMFSender which can be used to send DTMF codes (to simulate the user pressing buttons on a telephone's dial pad) to the remote peer.
RTCRtpSendParameters
The WebRTC API's dictionary is used to specify the parameters for an RTCRtpSender when calling its setParameters() method.
RTCRtpSynchronizationSource
RTCRtpTransceiver
The WebRTC interface describes a permanent pairing of an RTCRtpSender and an RTCRtpReceiver, along with some shared state. Each SDP media section describes one bidirectional SRTP ("Secure Real Time Protocol") stream (excepting the media section for RTCDataChannel, if present). This pairing of send and receive SRTP streams is significant for some applications, so is used to represent this pairing, along with other important state from the media section. Each non-disabled SRTP media section is always represented by exactly one transceiver. A transceiver is uniquely identified using its mid property, which is the same as the media ID (mid) of its corresponding m-line. An is associated with an m-line if its mid is non-null; otherwise it's considered disassociated.
RTCRtpTransceiverInit
RTCSctpTransport
Experimental: This is an experimental technologyCheck the Browser compatibility table carefully before using this in production. The interface provides information which describes a Stream Control Transmission Protocol (SCTP) transport. This provides information about limitations of the transport, but also provides a way to access the underlying Datagram Transport Layer Security (DTLS) transport over which SCTP packets for all of an RTCPeerConnection's data channels are sent and received. You don't create objects yourself; instead, you get access to the for a given RTCPeerConnection through its sctp property. Possibly the most useful property on this interface is its maxMessageSize property, which you can use to determine the upper limit on the size of messages you can send over a data channel on the peer connection.
RTCSessionDescription
Experimental: This is an experimental technologyCheck the Browser compatibility table carefully before using this in production. The interface describes one end of a connection—or potential connection—and how it's configured. Each consists of a description type indicating which part of the offer/answer negotiation process it describes and of the SDP descriptor of the session. The process of negotiating a connection between two peers involves exchanging objects back and forth, with each description suggesting one combination of connection configuration options that the sender of the description supports. Once the two peers agree upon a configuration for the connection, negotiation is complete.
RTCSessionDescriptionInit
RTCStats
The dictionary is the basic statistics object used by WebRTC's statistics monitoring model, providing the properties required of all statistics data objects. Specific classes of statistic are defined as dictionaries based on . For example, statistics about a received RTP stream are represented by RTCReceivedRtpStreamStats.
RTCStatsReport
Draft: This page is not complete.This page is currently incomplete and under active construction. Please be aware that it's not going to answer all of your questions just yet. The interface provides a statistics report obtained by calling one of the RTCPeerConnection.getStats(), RTCRtpReceiver.getStats(), and RTCRtpSender.getStats() methods. This statistics report contains a mapping of statistic category string names to objects containing the corresponding statistics data. Calling getStats() on an RTCPeerConnection lets you specify whether you wish to obtain statistics for outbound, inbound, or all streams on the connection. The RTCRtpReceiver and RTCRtpSender versions of getStats() specifically only return statistics available to the incoming or outgoing stream on which you call them.
RTCTrackEvent
The WebRTC API interface represents the track event, which is sent when a new MediaStreamTrack is added to an RTCRtpReceiver which is part of the RTCPeerConnection. The target is the RTCPeerConnection object to which the track is being added. This event is sent by the WebRTC layer to the web site or application, so you will not typically need to instantiate an yourself.
RTCTrackEventInit

Extensions

PropsRTCCertificate
PropsRTCCertificateExpiration
PropsRTCConfiguration
PropsRTCDataChannel
PropsRTCDataChannelEvent
PropsRTCDataChannelEventInit
PropsRTCDataChannelInit
PropsRTCDtlsFingerprint
PropsRTCDtlsTransport
PropsRTCDTMFSender
PropsRTCDTMFToneChangeEvent
PropsRTCDTMFToneChangeEventInit
PropsRTCError
PropsRTCErrorEvent
PropsRTCErrorEventInit
PropsRTCErrorInit
PropsRTCIceCandidate
PropsRTCIceCandidateInit
PropsRTCIceCandidatePair
PropsRTCIceParameters
PropsRTCIceServer
PropsRTCIceTransport
PropsRTCLocalSessionDescriptionInit
PropsRTCOfferOptions
PropsRTCPeerConnection
PropsRTCPeerConnectionIceErrorEvent
PropsRTCPeerConnectionIceErrorEventInit
PropsRTCPeerConnectionIceEvent
PropsRTCPeerConnectionIceEventInit
PropsRTCRtcpParameters
PropsRTCRtpCapabilities
PropsRTCRtpCodecCapability
PropsRTCRtpCodecParameters
PropsRTCRtpCodingParameters
PropsRTCRtpContributingSource
PropsRTCRtpEncodingParameters
PropsRTCRtpHeaderExtensionCapability
PropsRTCRtpHeaderExtensionParameters
PropsRTCRtpParameters
PropsRTCRtpReceiver
PropsRTCRtpSender
PropsRTCRtpSendParameters
PropsRTCRtpTransceiver
PropsRTCRtpTransceiverInit
PropsRTCSctpTransport
PropsRTCSessionDescription
PropsRTCSessionDescriptionInit
PropsRTCStats
PropsRTCTrackEvent
PropsRTCTrackEventInit

Enums

RTCBundlePolicy
RTCDataChannelState
RTCDtlsTransportState
RTCErrorDetailType
RTCIceCandidateType
RTCIceComponent
RTCIceConnectionState
RTCIceCredentialType
RTCIceGathererState
RTCIceGatheringState
RTCIceProtocol
RTCIceRole
RTCIceTcpCandidateType
RTCIceTransportPolicy
RTCIceTransportState
RTCPeerConnectionState
RTCRtcpMuxPolicy
RTCRtpTransceiverDirection
RTCSctpTransportState
RTCSdpType
RTCSignalingState