vani-meeting-client
Version:
Vani Meeting Clinet SDK
108 lines (107 loc) • 4.15 kB
TypeScript
import { Base } from '../base/Base';
export declare enum WebSocketBasicEvents {
Config = "config",
JoinRoom = "joinRoom",
IsSetupDone = "setupDone",
Ping = "ping",
Pong = "pong",
CloseRoomForceFully = "CloseRoomForceFully",
AudioVideoPauseResume = "audioVideoPauseResume",
OnStartMeetingCalled = "startMeetingCalled",
OnAudioVideoPauseResume = "audioVideoPauseResume",
OnAudioVideoStatusUpdated = "audioVideoStatusUpdated",
OnAudioUnblockRequest = "audioUnblock",
OnVideoUnblockRequest = "videoUnblock",
OnAudioBlockRequest = "audioBlock",
OnVideoBlockRequest = "videoBlock",
UpdateParticipant = "updateParticipant",
OnParticipantUpdated = "participantUpdated",
OnNewJoinee = "newJoinee",
OnUserOnFoundWhileReconnect = "onUserOnFoundWhileReconnect",
OnRejoined = "OnRejoined",
OnUserLeft = "userLeft",
GetAllParticipant = "getParticipant",
OnServerParticipants = "participants",
GetMeetingStartTime = "getMeetingStartTime",
OnMeetingStartTime = "meetingStartTime",
GetOldMessages = "getOldMessages",
OnOldMessages = "oldMessages",
Message = "message",
OnChat = "chat",
SelfLeft = "selfLeft"
}
export declare enum SFUMessageType {
SFUMessage = "sfuMessage",
GetRouterRtpCapabilities = "routerRtpCapabilities",
ReloadSFUCleanUpDone = "ReloadSFUCleanUpDone",
ReloadSFU = "reloadSFU",
OnRouterRtpCapabilities = "onRouterRtpCapabilities",
OnTransportConnect = "transportConnect",
OnCreateTransports = "createTransports",
OnTransportConnectDone = "transportConnectDone",
OnSendTransport = "onSendTransport",
OnConsumeTransport = "onConsumeTransport",
OnTransportProduceSyncRequest = "transportProduceSync",
OnTransportDataProduceSyncRequest = "dataTransportProduceSync",
OnReadyToConsume = "readyToConsume",
OnStartRTMP = "startRtmp",
OnProducerClosed = "producerClosed",
OnPauseProducer = "pauseProducer",
OnResumeProducer = "resumeProducer",
OnNewProducer = "onNewProducer",
ConsumeProductId = "consumeProductId",
OnServerConsumer = "onServerConsumer",
ResumeConsumer = "resumeConsumer",
PauseConsumer = "pauseConsumer",
OnProduceSyncDone = "produceSyncDone",
OnSpeakerChanged = "onSpeakerChanged",
OnRestartIceCandidate = "restartIceCandidate",
OnTrackEnded = "onTrackEnded",
UpdateSpatialConsumer = "updateSpatialConsumer",
OnRestartIceCandidateResponse = "onRestartIceCandidate",
OnTransportNotFound = "onTransportNotFound",
OnCreateTransportsForcefully = "OnCreateTransportsForcefully",
GetAllProducers = "getAllProducers",
OnAllProducers = "onAllProducers",
OnAudioVolumeChanged = "OnAudioVolumeChanged",
OnConsumerNotFound = "OnConsumerNotFound",
OnProducerNotFound = "OnProducerNotFound",
OnConsumerScoreChange = "OnConsumerScoreChange",
OnProducerScoreChange = "OnProducerScoreChange",
OnConsumerLayerChange = "OnConsumerLayerChange"
}
export type WebSocketEvents = SFUMessageType | WebSocketBasicEvents;
export interface WebSocketMessageBody {
type?: WebSocketEvents;
data?: any;
}
export declare class WebsocketHandler extends Base {
private loadBalancerIpAddressForWebSocket?;
private isEnded;
private isWebSocketConnectionInProgress;
private wss?;
private connection;
private isSetUpDone;
private socketCheckTimeout?;
private pingCheckTimeout?;
private setUpTry;
private pongData;
private lastPingTimeStamp;
protected onObjectCreated(): void;
cleanup(): void;
startSocketConnection(): Promise<void>;
private connect;
isWebScoketConnected(): boolean;
sendSocketMessage(type: WebSocketEvents, data: any): void;
reconnectOnInternetFailur(): void;
private onWebSocketClosed;
private tryToReconectSocket;
private onSocketConnected;
private socketSubscribeToTopic;
private askIfSetupDone;
private onMessage;
onCloseTheRoomForcefully: (data: any) => Promise<void>;
private onSetupDone;
private checkIfPingIsRunning;
private isVideoCallControllerMessageType;
}