UNPKG

sinch-rtc

Version:

RTC JavaScript/Web SDK

88 lines (87 loc) 4.25 kB
import { Instance } from "../ocra/api"; import { Direction } from "../session/Direction"; import { Session } from "../session/Session"; import { PeerConnectionClient } from "../rtc/PeerConnectionClient"; import { JsepMessage } from "../session/jsep"; import { SymmetricKey } from "../mxp"; import { CallListener } from "./listeners/CallListener"; import { MediaController } from "../rtc/MediaController"; import CallEventsManager from "./listeners/CallEventsManagers"; import { CallDetails } from "./CallDetails"; import { MxpMessageChannel } from "../mxp/MxpMessageChannel"; import { Client } from "../mxp/models"; import { CallState } from "./models"; import { SetIceServers, RTCIceServerExtended, IceConnectionState } from "../rtc"; import { ClientEventsCollector } from "./reporting/ClientEventsCollector"; import { PeerConnectionClientObserver } from "../rtc/PeerConnectionClientObserver"; import { SinchError } from "../SinchError"; import { InternalCall } from "./InternalCall"; import { CallQualityDataCollector } from "./quality/CallQualityDataCollector"; import { CallQualityWarningControllerFactory } from "./quality/CallQualityWarningControllerFactory"; import { MxpClientEvent } from "../mxp/MxpClientEvent"; import { InternalCallListener } from "./listeners/InternalCallListener"; export declare abstract class DefaultCall<T extends Session = Session> implements InternalCall, PeerConnectionClientObserver { requestedVideo: boolean; private session; private mxpChannel; protected mediaController: MediaController; private useRelayIceCandidatesOnly; clientEventsCollector: ClientEventsCollector; callQualityCollector: CallQualityDataCollector; private iceServers?; protected peerConnectionClient: PeerConnectionClient; protected callEventFanout: CallEventsManager; private publicCallListenerCallbackMapper; private trackEvent; private callQualityWarningEventFanout; private publicHeaders?; private callQualityWarningController; p2p: boolean; instances?: Instance[]; private callDetail; createdAt: Date; remoteUserDisplayName?: string; videoPaused?: boolean; muted?: boolean; setIceServers: SetIceServers; constructor(requestedVideo: boolean, session: T, mxpChannel: MxpMessageChannel, mediaController: MediaController, useRelayIceCandidatesOnly: boolean, clientEventsCollector: ClientEventsCollector, callQualityCollector: CallQualityDataCollector, warningControllerFactory: CallQualityWarningControllerFactory, iceServers?: RTCIceServerExtended[] | undefined); answer(): Promise<void>; sendDtmf(keys: string): void; start: () => Promise<void>; get localPeer(): Client; mute(): void; unmute(): void; pauseVideo(): void; resumeVideo(): void; updateMediaController(media: MediaController): void; private enableSenderTracks; onTrackEvent: (track: MediaStreamTrack) => void; onIceConnectionStateChanged(state: IceConnectionState): void; private onInboundMessage; inactivate(): void; protected onLocalJsepMessage: (message: JsepMessage) => void; protected onLocalDescription(message: JsepMessage): void; protected withSession(action: (s: T) => void): void; protected setPushNotificationRequestSent(): void; get incomingStream(): MediaStream | undefined; get outgoingStream(): MediaStream; addListener(listener: CallListener): void; removeListener(listener: CallListener): void; abstract get remoteUserId(): string; performCallEndedCleanup(): void; private mapState; get state(): CallState; get id(): string; get direction(): Direction; setHeaders(headers: Record<string, string>): void; get headers(): Record<string, string>; setLegacyRelayCandidates(candidates: string[]): void; setMxpSignalingConfiguration(sessionKey: SymmetricKey, signalingChannel: string): void; hangup(error?: SinchError): void; emitClientEvent(event: MxpClientEvent): void; terminateDueToIceFailure(): void; addInternalListener(listener: InternalCallListener): void; removeInternalListener(listener: InternalCallListener): void; get details(): CallDetails; getPeerConnectionStats(): Promise<RTCStatsReport | null>; }