MixedReality-WebRTC MixedReality-WebRTC
Search Results for

    Show / Hide Table of Contents

    Class Signaler

    Abstract base class to simplify implementing a WebRTC signaling solution in Unity.

    There is no requirement to use this class as a base class for a custom implementation, but it handles automatically registering the necessary PeerConnection event handlers, as well as dispatching free-threaded callbacks to the main Unity app thread for simplicity and safety, and leaves the implementation with instead with two sending methods SendMessageAsync(SdpMessage) and SendMessageAsync(IceCandidate) to implement, as well as handling received messages.

    Inheritance
    Object
    Signaler
    NodeDssSignaler
    Namespace: Microsoft.MixedReality.WebRTC.Unity
    Assembly: cs.temp.dll.dll
    Syntax
    public abstract class Signaler : MonoBehaviour

    Fields

    _mainThreadWorkQueue

    Task queue used to defer actions to the main Unity app thread, which is the only thread with access to Unity objects.

    Declaration
    protected ConcurrentQueue<Action> _mainThreadWorkQueue
    Field Value
    Type Description
    ConcurrentQueue<Action>

    _nativePeer

    Native PeerConnection object from the underlying WebRTC C# library, available once the peer has been initialized.

    Declaration
    protected PeerConnection _nativePeer
    Field Value
    Type Description
    PeerConnection

    PeerConnection

    The PeerConnection this signaler needs to work for.

    Declaration
    public PeerConnection PeerConnection
    Field Value
    Type Description
    PeerConnection

    Methods

    OnDisable()

    Declaration
    protected virtual void OnDisable()

    OnEnable()

    Declaration
    protected virtual void OnEnable()

    OnIceCandidateReadyToSend(IceCandidate)

    Callback invoked when an ICE candidate message has been generated and is ready to be sent to the remote peer by the signaling object.

    Declaration
    protected virtual void OnIceCandidateReadyToSend(IceCandidate candidate)
    Parameters
    Type Name Description
    IceCandidate candidate

    ICE candidate to send to the remote peer.

    OnPeerInitialized()

    Callback fired from the PeerConnection when it finished initializing, to subscribe to signaling-related events.

    Declaration
    public void OnPeerInitialized()

    OnPeerUninitializing()

    Callback fired from the PeerConnection before it starts uninitializing itself and disposing of the underlying implementation object.

    Declaration
    public void OnPeerUninitializing()

    OnSdpAnswerReadyToSend(SdpMessage)

    Callback invoked when a local SDP answer has been generated and is ready to be sent to the remote peer by the signaling object.

    Declaration
    protected virtual void OnSdpAnswerReadyToSend(SdpMessage answer)
    Parameters
    Type Name Description
    SdpMessage answer

    The SDP answer message to send.

    OnSdpOfferReadyToSend(SdpMessage)

    Callback invoked when a local SDP offer has been generated and is ready to be sent to the remote peer by the signaling object.

    Declaration
    protected virtual void OnSdpOfferReadyToSend(SdpMessage offer)
    Parameters
    Type Name Description
    SdpMessage offer

    The SDP offer message to send.

    SendMessageAsync(IceCandidate)

    Asynchronously send an ICE candidate to the remote peer.

    Declaration
    public abstract Task SendMessageAsync(IceCandidate candidate)
    Parameters
    Type Name Description
    IceCandidate candidate

    The ICE candidate to send to the remote peer.

    Returns
    Type Description
    Task

    A object completed once the message has been sent, but not necessarily delivered.

    SendMessageAsync(SdpMessage)

    Asynchronously send an SDP message to the remote peer.

    Declaration
    public abstract Task SendMessageAsync(SdpMessage message)
    Parameters
    Type Name Description
    SdpMessage message

    The SDP message to send to the remote peer.

    Returns
    Type Description
    Task

    A object completed once the message has been sent, but not necessarily delivered.

    Update()

    Unity Engine Update() hook

    Declaration
    protected virtual void Update()
    Remarks

    https://docs.unity3d.com/ScriptReference/MonoBehaviour.Update.html

    In This Article
    Back to top Generated by DocFX