@observertc/client-monitor-js
Version:
ObserveRTC Client Integration Javascript Library
37 lines (36 loc) • 1.48 kB
TypeScript
import { PeerConnectionMonitor } from "../monitors/PeerConnectionMonitor";
import { ClientEventPayloadMap } from "./ClientEventPayloadProvider";
export type RtcPeerConnectionEventerContext = {
peerConnection: RTCPeerConnection;
monitor: PeerConnectionMonitor;
peerConnectionId: string;
appData?: Record<string, unknown>;
};
export declare class RtcPeerConnectionBinding {
readonly peerConnection: RTCPeerConnection;
readonly monitor: PeerConnectionMonitor;
constructor(peerConnection: RTCPeerConnection, monitor: PeerConnectionMonitor);
unbind(): void;
bind(): void;
private _onDataChannel;
private _onIceCandidateError;
private _onIceConnectionStateChange;
private _onConnectionStateChange;
private _onIceCandidate;
private _onIceGatheringStateChange;
private _onNegotiationNeeded;
private _onSignalingStateChange;
private _onTrack;
private _fireEvent;
}
export declare function bindMediaStreamTrackEvents(options: {
pcMonitor: PeerConnectionMonitor;
track: MediaStreamTrack;
fireEvent: <K extends keyof ClientEventPayloadMap>(eventType: K, payload: ClientEventPayloadMap[K]) => void;
attachments?: Record<string, unknown>;
}): void;
export declare function bindRtcDataChannelEvents(options: {
monitor: PeerConnectionMonitor;
dataChannel: RTCDataChannel;
fireEvent: <K extends keyof ClientEventPayloadMap>(eventType: K, payload: ClientEventPayloadMap[K]) => void;
}): void;