Events emitted by the WebRTCEndpoint instance.

interface WebRTCEndpointEvents {
    bandwidthEstimationChanged: (estimation: bigint) => void;
    connected: (endpointId: string, otherEndpoints: Endpoint[]) => void;
    connectionError: (error: { event: Event; message: string }) => void;
    disconnected: () => void;
    disconnectRequested: (event: any) => void;
    endpointAdded: (endpoint: Endpoint) => void;
    endpointRemoved: (endpoint: Endpoint) => void;
    endpointUpdated: (endpoint: Endpoint) => void;
    localEndpointMetadataChanged: (event: { metadata: unknown }) => void;
    localTrackAdded: (
        event: {
            maxBandwidth: TrackBandwidthLimit;
            simulcastConfig: SimulcastConfig;
            stream: MediaStream;
            track: MediaStreamTrack;
            trackId: string;
            trackMetadata?: unknown;
        },
    ) => void;
    localTrackBandwidthSet: (
        event: { bandwidth: number; trackId: string },
    ) => void;
    localTrackEncodingBandwidthSet: (
        event: { bandwidth: number; rid: Variant; trackId: string },
    ) => void;
    localTrackEncodingDisabled: (
        event: { encoding: Variant; trackId: string },
    ) => void;
    localTrackEncodingEnabled: (
        event: { encoding: Variant; trackId: string },
    ) => void;
    localTrackMetadataChanged: (
        event: { metadata: unknown; trackId: string },
    ) => void;
    localTrackMuted: (event: { trackId: string }) => void;
    localTrackRemoved: (event: { trackId: string }) => void;
    localTrackReplaced: (
        event: { track: null | MediaStreamTrack; trackId: string },
    ) => void;
    localTrackUnmuted: (event: { trackId: string }) => void;
    sendMediaEvent: (mediaEvent: SerializedMediaEvent) => void;
    signalingError: (error: { message: string }) => void;
    targetTrackEncodingRequested: (
        event: { trackId: string; variant: Variant },
    ) => void;
    trackAdded: (ctx: TrackContext) => void;
    trackEncodingDisabled: (context: TrackContext, encoding: Variant) => void;
    trackEncodingEnabled: (context: TrackContext, encoding: Variant) => void;
    trackReady: (ctx: TrackContext) => void;
    trackRemoved: (ctx: TrackContext) => void;
    tracksPriorityChanged: (
        enabledTracks: TrackContext[],
        disabledTracks: TrackContext[],
    ) => void;
    trackUpdated: (ctx: TrackContext) => void;
}

Properties

bandwidthEstimationChanged: (estimation: bigint) => void

Emitted every time the server estimates client's bandwidth.

Type declaration

    • (estimation: bigint): void
    • Parameters

      • estimation: bigint

        client's available incoming bitrate estimated by the server. It's measured in bits per second.

      Returns void

connected: (endpointId: string, otherEndpoints: Endpoint[]) => void

Emitted when endpoint of this WebRTCEndpoint instance is ready. Triggered by WebRTCEndpoint.connect

connectionError: (error: { event: Event; message: string }) => void

Emitted in case of errors related to multimedia session e.g. ICE connection.

disconnected: () => void

Emitted when endpoint of this WebRTCEndpoint instance was removed.

disconnectRequested: (event: any) => void
endpointAdded: (endpoint: Endpoint) => void

Emitted each time new endpoint is added to the room.

endpointRemoved: (endpoint: Endpoint) => void

Emitted each time endpoint is removed, emitted only for other endpoints.

endpointUpdated: (endpoint: Endpoint) => void

Emitted each time endpoint has its metadata updated.

localEndpointMetadataChanged: (event: { metadata: unknown }) => void
localTrackAdded: (
    event: {
        maxBandwidth: TrackBandwidthLimit;
        simulcastConfig: SimulcastConfig;
        stream: MediaStream;
        track: MediaStreamTrack;
        trackId: string;
        trackMetadata?: unknown;
    },
) => void
localTrackBandwidthSet: (event: { bandwidth: number; trackId: string }) => void
localTrackEncodingBandwidthSet: (
    event: { bandwidth: number; rid: Variant; trackId: string },
) => void
localTrackEncodingDisabled: (
    event: { encoding: Variant; trackId: string },
) => void
localTrackEncodingEnabled: (
    event: { encoding: Variant; trackId: string },
) => void
localTrackMetadataChanged: (
    event: { metadata: unknown; trackId: string },
) => void
localTrackMuted: (event: { trackId: string }) => void
localTrackRemoved: (event: { trackId: string }) => void
localTrackReplaced: (
    event: { track: null | MediaStreamTrack; trackId: string },
) => void
localTrackUnmuted: (event: { trackId: string }) => void
sendMediaEvent: (mediaEvent: SerializedMediaEvent) => void

Emitted each time WebRTCEndpoint need to send some data to the server.

signalingError: (error: { message: string }) => void

Emitted in case of errors related to multimedia session e.g. ICE connection.

targetTrackEncodingRequested: (
    event: { trackId: string; variant: Variant },
) => void
trackAdded: (ctx: TrackContext) => void

Emitted each time the endpoint which was already in the room, adds new track. Fields track and stream will be set to null. These fields will be set to non-null value in trackReady

trackEncodingDisabled: (context: TrackContext, encoding: Variant) => void

Emitted each time track encoding has been disabled.

trackEncodingEnabled: (context: TrackContext, encoding: Variant) => void

Emitted each time track encoding has been enabled.

trackReady: (ctx: TrackContext) => void

Emitted when data in a new track arrives.

This event is always emitted after trackAdded. It informs the user that data related to the given track arrives and can be played or displayed.

trackRemoved: (ctx: TrackContext) => void

Emitted when some track will no longer be sent.

It will also be emitted before endpointRemoved for each track of this endpoint.

tracksPriorityChanged: (
    enabledTracks: TrackContext[],
    disabledTracks: TrackContext[],
) => void

Currently, this event is only emitted when DisplayManager in RTC Engine is enabled and simulcast is disabled.

Emitted when priority of video tracks have changed.

Type declaration

    • (enabledTracks: TrackContext[], disabledTracks: TrackContext[]): void
    • Parameters

      • enabledTracks: TrackContext[]

        list of tracks which will be sent to client from SFU

      • disabledTracks: TrackContext[]

        list of tracks which will not be sent to client from SFU

      Returns void

trackUpdated: (ctx: TrackContext) => void

Emitted each time endpoint has its track metadata updated.