bindings/webrtc library
WebRTC 1.0: Real-Time Communication Between Browsers
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 adatachannel
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()
orgetRemoteParameters()
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 callingRTCRtpTransceiver.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'sencodings
. - 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()
, andRTCRtpSender.getStats()
methods. This statistics report contains a mapping of statistic category string names to objects containing the corresponding statistics data. CallinggetStats()
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 ofgetStats()
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
Enums
- RTCBundlePolicy
- RTCDataChannelState
- RTCDtlsTransportState
- RTCErrorDetailType
- RTCIceCandidateType
- RTCIceComponent
- RTCIceConnectionState
- RTCIceCredentialType
- RTCIceGathererState
- RTCIceGatheringState
- RTCIceProtocol
- RTCIceRole
- RTCIceTcpCandidateType
- RTCIceTransportPolicy
- RTCIceTransportState
- RTCPeerConnectionState
- RTCRtcpMuxPolicy
- RTCRtpTransceiverDirection
- RTCSctpTransportState
- RTCSdpType
- RTCSignalingState
Extensions
- PropsRTCCertificate on RTCCertificate
- PropsRTCCertificateExpiration on RTCCertificateExpiration
- PropsRTCConfiguration on RTCConfiguration
- PropsRTCDataChannel on RTCDataChannel
- PropsRTCDataChannelEvent on RTCDataChannelEvent
- PropsRTCDataChannelEventInit on RTCDataChannelEventInit
- PropsRTCDataChannelInit on RTCDataChannelInit
- PropsRTCDtlsFingerprint on RTCDtlsFingerprint
- PropsRTCDtlsTransport on RTCDtlsTransport
- PropsRTCDTMFSender on RTCDTMFSender
- PropsRTCDTMFToneChangeEvent on RTCDTMFToneChangeEvent
- PropsRTCDTMFToneChangeEventInit on RTCDTMFToneChangeEventInit
- PropsRTCError on RTCError
- PropsRTCErrorEvent on RTCErrorEvent
- PropsRTCErrorEventInit on RTCErrorEventInit
- PropsRTCErrorInit on RTCErrorInit
- PropsRTCIceCandidate on RTCIceCandidate
- PropsRTCIceCandidateInit on RTCIceCandidateInit
- PropsRTCIceCandidatePair on RTCIceCandidatePair
- PropsRTCIceParameters on RTCIceParameters
- PropsRTCIceServer on RTCIceServer
- PropsRTCIceTransport on RTCIceTransport
- PropsRTCLocalSessionDescriptionInit on RTCLocalSessionDescriptionInit
- PropsRTCOfferOptions on RTCOfferOptions
- PropsRTCPeerConnection on RTCPeerConnection
- PropsRTCPeerConnectionIceErrorEvent on RTCPeerConnectionIceErrorEvent
- PropsRTCPeerConnectionIceErrorEventInit on RTCPeerConnectionIceErrorEventInit
- PropsRTCPeerConnectionIceEvent on RTCPeerConnectionIceEvent
- PropsRTCPeerConnectionIceEventInit on RTCPeerConnectionIceEventInit
- PropsRTCRtcpParameters on RTCRtcpParameters
- PropsRTCRtpCapabilities on RTCRtpCapabilities
- PropsRTCRtpCodecCapability on RTCRtpCodecCapability
- PropsRTCRtpCodecParameters on RTCRtpCodecParameters
- PropsRTCRtpCodingParameters on RTCRtpCodingParameters
- PropsRTCRtpContributingSource on RTCRtpContributingSource
- PropsRTCRtpEncodingParameters on RTCRtpEncodingParameters
- PropsRTCRtpHeaderExtensionCapability on RTCRtpHeaderExtensionCapability
- PropsRTCRtpHeaderExtensionParameters on RTCRtpHeaderExtensionParameters
- PropsRTCRtpParameters on RTCRtpParameters
- PropsRTCRtpReceiver on RTCRtpReceiver
- PropsRTCRtpSender on RTCRtpSender
- PropsRTCRtpSendParameters on RTCRtpSendParameters
- PropsRTCRtpTransceiver on RTCRtpTransceiver
- PropsRTCRtpTransceiverInit on RTCRtpTransceiverInit
- PropsRTCSctpTransport on RTCSctpTransport
- PropsRTCSessionDescription on RTCSessionDescription
- PropsRTCSessionDescriptionInit on RTCSessionDescriptionInit
- PropsRTCStats on RTCStats
- PropsRTCTrackEvent on RTCTrackEvent
- PropsRTCTrackEventInit on RTCTrackEventInit