Class WebRTC

    Definition

    Namespace:
    Tizen.Multimedia.Remoting
    Assembly:
    Tizen.Multimedia.Remoting.dll

    Provides the ability to control WebRTC.

    public class WebRTC : IDisposable
    Inheritance
    object
    WebRTC
    Implements
    System.IDisposable

    Constructors

    View Source

    WebRTC()

    Initializes a new instance of the WebRTC class.

    Declaration
    public WebRTC()
    Exceptions
    Type Condition
    System.UnauthorizedAccessException

    Thrown when the permission is denied.

    System.NotSupportedException

    The required feature is not supported.

    Properties

    View Source

    BundlePolicy

    Gets or sets the bundle policy.
    The default bundle policy is MaxBundle.

    Declaration
    public WebRTCBundlePolicy BundlePolicy { get; set; }
    Property Value
    Type Description
    WebRTCBundlePolicy

    The policy of bundle

    Exceptions
    Type Condition
    System.ObjectDisposedException

    The WebRTC has already been disposed.

    View Source

    IceConnectionState

    Gets the ICE connection state of the WebRTC.

    Declaration
    public 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.

    View Source

    IceGatheringState

    Gets the Ice gathering state of the WebRTC.

    Declaration
    public 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.

    View Source

    IceTransportPolicy

    Gets or sets the ICE transport policy.

    Declaration
    public 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.

    View Source

    PeerConnectionState

    Gets the peer connection state of the WebRTC.

    Declaration
    public 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.

    View Source

    SignalingState

    Gets the signaling state of the WebRTC.

    Declaration
    public 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.

    View Source

    State

    Gets the state of the WebRTC.

    Declaration
    public 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.

    View Source

    StunServer

    Gets or sets the STUN server url.

    Declaration
    public 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

    View Source

    AddIceCandidate(string)

    Adds a new ICE candidate from the remote peer over its signaling channel.

    Declaration
    public 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.

    View Source

    AddIceCandidates(IEnumerable<string>)

    Adds new ICE candidates from the remote peer over its signaling channel.

    Declaration
    public 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.

    View Source

    AddSource(MediaSource)

    Adds media source.

    Declaration
    public 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.

    • or -
      All or one of source was already detached.
    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
    MediaCameraSource
    MediaMicrophoneSource
    MediaTestSource
    MediaPacketSource
    AddSources(params MediaSource[])
    RemoveSource(MediaSource)
    RemoveSources(params MediaSource[])
    View Source

    AddSources(params MediaSource[])

    Adds media sources.

    Declaration
    public 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.

    • or -
      All or one of sources was already detached.
    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
    MediaCameraSource
    MediaMicrophoneSource
    MediaTestSource
    MediaPacketSource
    AddSource(MediaSource)
    RemoveSource(MediaSource)
    RemoveSources(params MediaSource[])
    View Source

    CreateAnswerAsync()

    Creates SDP answer asynchronously with option to an offer received from a remote peer.

    Declaration
    public 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()
    View Source

    CreateOfferAsync()

    Creates SDP offer asynchronously to start a new WebRTC connection to a remote peer.

    Declaration
    public 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
    CreateAnswerAsync()
    View Source

    Dispose()

    Releases all resources used by the current instance.

    Declaration
    public void Dispose()
    View Source

    GetStatistics(WebRTCStatisticsCategory)

    Retrieves the current statistics information.

    Declaration
    public ReadOnlyCollection<WebRTC.WebRTCStatistics> GetStatistics(WebRTCStatisticsCategory category)
    Parameters
    Type Name Description
    WebRTCStatisticsCategory category

    The category of statistics to get.

    Returns
    Type Description
    System.Collections.ObjectModel.ReadOnlyCollection<T><WebRTC.WebRTCStatistics>

    The WebRTC statistics informations.

    Remarks

    The WebRTC must be in the Playing

    Exceptions
    Type Condition
    System.ObjectDisposedException

    The WebRTC has already been disposed.

    System.InvalidOperationException

    The WebRTC is not in the valid state.

    View Source

    GetTurnServer()

    Retrieves all turn servers.

    Declaration
    public 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.

    View Source

    RemoveSource(MediaSource)

    Removes media source.

    Declaration
    public 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
    MediaCameraSource
    MediaMicrophoneSource
    MediaTestSource
    MediaPacketSource
    AddSource(MediaSource)
    AddSources(params MediaSource[])
    RemoveSources(params MediaSource[])
    View Source

    RemoveSources(params MediaSource[])

    Removes media sources.

    Declaration
    public 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
    MediaCameraSource
    MediaMicrophoneSource
    MediaTestSource
    MediaPacketSource
    AddSource(MediaSource)
    AddSources(params MediaSource[])
    RemoveSource(MediaSource)
    View Source

    SetLocalDescription(string)

    Sets the session description for a local peer.

    Declaration
    public 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.

    See Also
    CreateOfferAsync()
    CreateAnswerAsync()
    View Source

    SetRemoteDescription(string)

    Sets the session description of the remote peer's current offer or answer.

    Declaration
    public 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.

    See Also
    CreateOfferAsync()
    CreateAnswerAsync()
    View Source

    SetTurnServer(string)

    Sets a turn server.

    Declaration
    public void SetTurnServer(string turnServer)
    Parameters
    Type Name Description
    string turnServer
    Exceptions
    Type Condition
    System.ArgumentNullException

    The turnServer is null.

    System.ObjectDisposedException

    The WebRTC has already been disposed.

    View Source

    SetTurnServers(params string[])

    Sets turn servers.

    Declaration
    public void SetTurnServers(params string[] turnServers)
    Parameters
    Type Name Description
    string[] turnServers
    Exceptions
    Type Condition
    System.ArgumentNullException

    The one of turnServers is null.

    System.ObjectDisposedException

    The WebRTC has already been disposed.

    View Source

    Start()

    Starts the WebRTC.

    Declaration
    public 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.

    View Source

    StartAsync()

    Starts the WebRTC asynchronously.

    Declaration
    public 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.

    View Source

    Stop()

    Stops the WebRTC.

    Declaration
    public 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

    View Source

    AudioFrameEncoded

    Occurs when each audio frame is ready to render.

    Declaration
    public event EventHandler<WebRTCFrameEncodedEventArgs> AudioFrameEncoded
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCFrameEncodedEventArgs>
    View Source

    DataChannel

    Occurs when the data channel is created to the connection by the remote peer.

    Declaration
    public event EventHandler<WebRTCDataChannelEventArgs> DataChannel
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCDataChannelEventArgs>
    View Source

    ErrorOccurred

    Occurs when any error occurs.

    Declaration
    public event EventHandler<WebRTCErrorOccurredEventArgs> ErrorOccurred
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCErrorOccurredEventArgs>
    View Source

    IceCandidate

    Occurs when the WebRTC needs to send the ICE candidate message to the remote peer.

    Declaration
    public event EventHandler<WebRTCIceCandidateEventArgs> IceCandidate
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCIceCandidateEventArgs>
    View Source

    IceConnectionStateChanged

    Occurs when the WebRTC ICE connection state is changed.

    Declaration
    public event EventHandler<WebRTCIceConnectionStateChangedEventArgs> IceConnectionStateChanged
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCIceConnectionStateChangedEventArgs>
    View Source

    IceGatheringStateChanged

    Occurs when the WebRTC ICE gathering state is changed.

    Declaration
    public event EventHandler<WebRTCIceGatheringStateChangedEventArgs> IceGatheringStateChanged
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCIceGatheringStateChangedEventArgs>
    View Source

    NegotiationNeeded

    Occurs when negotiation is needed.

    Declaration
    public event EventHandler<EventArgs> NegotiationNeeded
    Event Type
    Type Description
    System.EventHandler<TEventArgs><System.EventArgs>
    View Source

    PeerConnectionStateChanged

    Occurs when the WebRTC peer connection state is changed.

    Declaration
    public event EventHandler<WebRTCPeerConnectionStateChangedEventArgs> PeerConnectionStateChanged
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCPeerConnectionStateChangedEventArgs>
    View Source

    SignalingStateChanged

    Occurs when the WebRTC signaling state is changed.

    Declaration
    public event EventHandler<WebRTCSignalingStateChangedEventArgs> SignalingStateChanged
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCSignalingStateChangedEventArgs>
    View Source

    StateChanged

    Occurs when WebRTC state is changed.

    Declaration
    public event EventHandler<WebRTCStateChangedEventArgs> StateChanged
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCStateChangedEventArgs>
    View Source

    TrackAdded

    Occurs when a new track has been added to the WebRTC.

    Declaration
    public event EventHandler<WebRTCTrackAddedEventArgs> TrackAdded
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCTrackAddedEventArgs>
    View Source

    VideoFrameEncoded

    Occurs when each video frame is ready to render.

    Declaration
    public event EventHandler<WebRTCFrameEncodedEventArgs> VideoFrameEncoded
    Event Type
    Type Description
    System.EventHandler<TEventArgs><WebRTCFrameEncodedEventArgs>

    Implements

    System.IDisposable
    • View Source
    Back to top Copyright © 2016-2024 Samsung
    Generated by DocFX