UNPKG

sinch-rtc

Version:

RTC JavaScript/Web SDK

67 lines (66 loc) 2.61 kB
import { MediaController } from "./MediaController"; import { PeerConnectionObserver } from "./PeerConnectionObserver"; import { DefaultCall } from "../calling"; import { ClientEventsCollector } from "../calling/reporting/ClientEventsCollector"; export type TrackKind = "audio" | "video"; export declare enum IceTransportPolicy { Relay = "relay", All = "all" } export declare enum IceConnectionState { New = "new", Checking = "checking", Connected = "connected", Completed = "completed", Failed = "failed", Disconnected = "disconnected", Closed = "closed" } export declare const MAX_WAIT_DISCONNECTED_PC: number; /** * Class that wraps original RTCPeerConnection member of browser WebRTC components */ export declare class PeerConnection { private observer; private rtcConfiguration; private inactivate; private clientEventsCollector; private userInstanceId?; private originalOffer?; pc: RTCPeerConnection; localDescription?: RTCSessionDescriptionInit; remoteDescription?: RTCSessionDescriptionInit; private pendingRemoteCandidates; private localCandidates; private timeoutID; constructor(observer: PeerConnectionObserver | null, rtcConfiguration: RTCConfiguration, inactivate: typeof DefaultCall.prototype.inactivate, clientEventsCollector: ClientEventsCollector, userInstanceId?: string | undefined, originalOffer?: RTCSessionDescriptionInit | undefined); private logClientEvents; getIceConnectionState: () => IceConnectionState; private notifyCurrentIceStateObserver; private handleInactivateTimerState; private whenRecovered; private whenDisconnectedOrFailed; clearAnyScheduledTimer(): void; close(): void; private setTimerToInactivate; private get transceivers(); enableSenderTracks(enabled: boolean, kind: TrackKind): void; private getSenders; insertDtmf(tones: string): boolean; setLocalMedia(media: MediaController): void; private replaceLocalMedia; private replaceSenderTrack; private logIceState; private onLocalIceCandidate; get instanceId(): string | undefined; set instanceId(instanceId: string | undefined); addIceCandidate: (candidate: RTCIceCandidateInit) => void; private applyPendingRemoteCandidates; private createPeerConnection; private setPendingRemoteDesription; private setLocalDescription; createOffer(): Promise<void>; createAnswer(): Promise<RTCSessionDescriptionInit>; private pendingRemoteDescription?; setRemoteDescription(sd: RTCSessionDescriptionInit): Promise<void>; }