Class WebRTC
Definition
- Namespace:
- Tizen.Multimedia.Remoting
- Assembly:
- Tizen.Multimedia.Remoting.dll
Provides the ability to control WebRTC.
C#Copypublic class WebRTC : IDisposable
- Inheritance
-
objectWebRTC
- Implements
-
System.IDisposable
Constructors
Declaration
C#Copypublic WebRTC()
Exceptions
| Type | Condition |
|---|---|
| System.UnauthorizedAccessException | Thrown when the permission is denied. |
| System.NotSupportedException | The required feature is not supported. |
Properties
Declaration
C#Copypublic WebRTCIceConnectionState IceConnectionState { get; }
Property Value
| Type | Description |
|---|---|
| WebRTCIceConnectionState | The current ICE connection state of the WebRTC. |
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic WebRTCIceGatheringState IceGatheringState { get; }
Property Value
| Type | Description |
|---|---|
| WebRTCIceGatheringState | The current Ice gathering state of the WebRTC. |
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic IceTransportPolicy IceTransportPolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| IceTransportPolicy | The policy of ICE transport |
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic WebRTCPeerConnectionState PeerConnectionState { get; }
Property Value
| Type | Description |
|---|---|
| WebRTCPeerConnectionState | The current peer connection state of the WebRTC. |
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic WebRTCSignalingState SignalingState { get; }
Property Value
| Type | Description |
|---|---|
| WebRTCSignalingState | The current signaling state of the WebRTC. |
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic WebRTCState State { get; }
Property Value
| Type | Description |
|---|---|
| WebRTCState | The current state of the WebRTC. |
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic string StunServer { get; set; }
Property Value
| Type | Description |
|---|---|
| string | The STUN server url |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | STUN server URI is null. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Methods
AddIceCandidate(string)
Adds a new ICE candidate from the remote peer over its signaling channel.
Declaration
C#Copypublic void AddIceCandidate(string iceCandidate)
Parameters
| Type | Name | Description |
|---|---|---|
| string | iceCandidate | The ICE candidate. |
Remarks
The WebRTC must be in the Negotiating.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException | The ICE candidate is empty string. |
| System.ArgumentNullException | The ICE candidate is null. |
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
AddIceCandidates(IEnumerable<string>)
Adds new ICE candidates from the remote peer over its signaling channel.
Declaration
C#Copypublic void AddIceCandidates(IEnumerable<string> iceCandidates)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<T><string> | iceCandidates | The ICE candidates. |
Remarks
The WebRTC must be in the Negotiating.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException | The ICE candidate is empty string. |
| System.ArgumentNullException | The ICE candidate is null. |
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic void AddSource(MediaSource source)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaSource | source | The media sources to add. |
Remarks
The WebRTC must be in the Idle.
Each MediaSource requires different feature or privilege.
MediaCameraSource needs camera feature and privilege.
MediaMicrophoneSource needs microphone feature and recorder privilege.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | The media source is null. |
| System.InvalidOperationException | The WebRTC is not in the valid state.
|
| System.NotSupportedException | The required feature is not supported. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
| System.UnauthorizedAccessException | Thrown when the permission is denied. |
See Also
Declaration
C#Copypublic void AddSources(params MediaSource[] sources)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaSource[] | sources | The media sources to add. |
Remarks
The WebRTC must be in the Idle.
Each MediaSource requires different feature or privilege.
MediaCameraSource needs camera feature and privilege.
MediaMicrophoneSource needs microphone feature and recorder privilege.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | The media source is null. |
| System.InvalidOperationException | The WebRTC is not in the valid state.
|
| System.NotSupportedException | The required feature is not supported. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
| System.UnauthorizedAccessException | Thrown when the permission is denied. |
See Also
CreateAnswerAsync()
Creates SDP answer asynchronously with option to an offer received from a remote peer.
Declaration
C#Copypublic Task<string> CreateAnswerAsync()
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<TResult><string> | The SDP answer. |
Remarks
The WebRTC must be in the Negotiating
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
See Also
CreateOfferAsync()
Creates SDP offer asynchronously to start a new WebRTC connection to a remote peer.
Declaration
C#Copypublic Task<string> CreateOfferAsync()
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<TResult><string> | The SDP offer. |
Remarks
The WebRTC must be in the Negotiating
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
See Also
Declaration
C#Copypublic void Dispose()
Declaration
C#Copypublic ReadOnlyCollection<string> GetTurnServer()
Returns
| Type | Description |
|---|---|
| System.Collections.ObjectModel.ReadOnlyCollection<T><string> | The turn server list. |
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic void RemoveSource(MediaSource source)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaSource | source | The media source to remove. |
Remarks
The WebRTC must be in the Idle.
If user want to use removed MediaSource again, user should create new instance for it.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | The media source is null. |
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
See Also
Declaration
C#Copypublic void RemoveSources(params MediaSource[] sources)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaSource[] | sources | The media source to remove. |
Remarks
The WebRTC must be in the Idle.
If user want to use removed MediaSource again, user should create new instance for it.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | The media source is null. |
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
See Also
Declaration
C#Copypublic void SetLocalDescription(string description)
Parameters
| Type | Name | Description |
|---|---|---|
| string | description | The local session description. |
Remarks
The WebRTC must be in the Negotiating.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException | The description is empty string. |
| System.ArgumentNullException | The description is null. |
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
SetRemoteDescription(string)
Sets the session description of the remote peer's current offer or answer.
Declaration
C#Copypublic void SetRemoteDescription(string description)
Parameters
| Type | Name | Description |
|---|---|---|
| string | description | The remote session description. |
Remarks
The WebRTC must be in the Negotiating.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException | The description is empty string. |
| System.ArgumentNullException | The description is null. |
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic void SetTurnServer(string turnServer)
Parameters
| Type | Name | Description |
|---|---|---|
| string | turnServer |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | The |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic void SetTurnServers(params string[] turnServers)
Parameters
| Type | Name | Description |
|---|---|---|
| string[] | turnServers |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | The one of |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic void Start()
Remarks
The WebRTC must be in the Idle state.
The WebRTC state will be Negotiating state.
The user should check whether State is changed to Negotiating state or not.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic Task StartAsync()
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task |
Remarks
The WebRTC must be in the Idle state.
The WebRTC state will be Negotiating state.
This ensures that State is changed to Negotiating state.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Declaration
C#Copypublic void Stop()
Remarks
The WebRTC must be in the Negotiating or Playing state.
The WebRTC state will be Idle state.
The user should check whether State is changed to Idle state or not.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | The WebRTC is not in the valid state. |
| System.ObjectDisposedException | The WebRTC has already been disposed. |
Events
Declaration
C#Copypublic event EventHandler<WebRTCFrameEncodedEventArgs> AudioFrameEncoded
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCFrameEncodedEventArgs> |
DataChannel
Occurs when the data channel is created to the connection by the remote peer.
Declaration
C#Copypublic event EventHandler<WebRTCDataChannelEventArgs> DataChannel
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCDataChannelEventArgs> |
Declaration
C#Copypublic event EventHandler<WebRTCErrorOccurredEventArgs> ErrorOccurred
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCErrorOccurredEventArgs> |
IceCandidate
Occurs when the WebRTC needs to send the ICE candidate message to the remote peer.
Declaration
C#Copypublic event EventHandler<WebRTCIceCandidateEventArgs> IceCandidate
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCIceCandidateEventArgs> |
Declaration
C#Copypublic event EventHandler<WebRTCIceConnectionStateChangedEventArgs> IceConnectionStateChanged
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCIceConnectionStateChangedEventArgs> |
Declaration
C#Copypublic event EventHandler<WebRTCIceGatheringStateChangedEventArgs> IceGatheringStateChanged
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCIceGatheringStateChangedEventArgs> |
Declaration
C#Copypublic event EventHandler<EventArgs> NegotiationNeeded
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><System.EventArgs> |
Declaration
C#Copypublic event EventHandler<WebRTCPeerConnectionStateChangedEventArgs> PeerConnectionStateChanged
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCPeerConnectionStateChangedEventArgs> |
Declaration
C#Copypublic event EventHandler<WebRTCSignalingStateChangedEventArgs> SignalingStateChanged
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCSignalingStateChangedEventArgs> |
Declaration
C#Copypublic event EventHandler<WebRTCStateChangedEventArgs> StateChanged
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCStateChangedEventArgs> |
Declaration
C#Copypublic event EventHandler<WebRTCTrackAddedEventArgs> TrackAdded
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCTrackAddedEventArgs> |
Declaration
C#Copypublic event EventHandler<WebRTCFrameEncodedEventArgs> VideoFrameEncoded
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><WebRTCFrameEncodedEventArgs> |