UNPKG

sinch-rtc

Version:

RTC JavaScript/Web SDK

64 lines (63 loc) 3.22 kB
import { Event } from "../utils/Event"; import { JsepMessage } from "../session/jsep"; import { MediaController } from "./MediaController"; import { IceConnectionState, TrackKind } from "./PeerConnection"; import { PeerConnectionObserver } from "./PeerConnectionObserver"; import { DefaultCall } from "../calling"; import { RTCIceServerExtended } from "./IceServer"; import { ClientEventsCollector } from "../calling/reporting/ClientEventsCollector"; import { PeerConnectionClientObserver } from "./PeerConnectionClientObserver"; export declare class PeerConnectionClient implements PeerConnectionObserver { private mediaController; private trackEvent; private useRelayIceCandidatesOnly; private inactivate; private clientEventsCollector; private observer; private iceServers?; private readonly DUMMY_INSTANCE_ID; private peerConnections; onLocalJsepMessage: Event<JsepMessage>; remoteStreams: Map<string, MediaStream[]>; private remoteMediaStream; private pendingTracks; private pendingRelayCandidates; private originalOffer?; private instanceId?; private shouldNotifyIceStateChanges; private certificate?; private enabledTracks; static create(media: MediaController, trackEvent: Event<MediaStreamTrack>, useRelayIceCandidatesOnly: boolean, inactivate: typeof DefaultCall.prototype.inactivate, clientEventsCollector: ClientEventsCollector, observer: PeerConnectionClientObserver, iceServers?: RTCIceServerExtended[]): PeerConnectionClient; constructor(mediaController: MediaController, trackEvent: Event<MediaStreamTrack>, useRelayIceCandidatesOnly: boolean, inactivate: typeof DefaultCall.prototype.inactivate, clientEventsCollector: ClientEventsCollector, observer: PeerConnectionClientObserver, iceServers?: RTCIceServerExtended[] | undefined); setIceServers(iceServers: RTCIceServerExtended[]): void; private createCertificate; onCallAnswered(_: DefaultCall): void; onCallEstablished(_: DefaultCall): void; enableSenderTracks(enabled: boolean, kind: TrackKind): void; updateMediaController(media: MediaController): void; start(): Promise<void>; onSessionDescriptionCreated(sd: RTCSessionDescriptionInit): void; onSessionDescriptionFailed: (error: Error) => void; onTrack: (evt: RTCTrackEvent, instanceId: string) => void; insertDtmf(tones: string): Promise<boolean>; private addPendingTracks; private setConnectedInstanceId; get remoteStream(): MediaStream; private mapIceCandidate; private addPendingRelayCandidates; private onJsepIceCandidate; private onJsepDescription; private findPeerConnection; private getDefaultPeerConnection; private getRTCConfig; private closeNonJoinedPCs; private startEmittingIceStateChanges; private createPeerConnection; private getPeerConnection; cleanup: () => void; onIceConnectionStateChanged(state: IceConnectionState): void; onIceCandidate: (instanceId: string, candidate: RTCIceCandidate) => void; setLegacyRelayCandidates(candidates: string[]): void; onJsepMessageReceived: (messages: JsepMessage[]) => void; getPeerConnectionStats(): Promise<RTCStatsReport | null>; }