vani-meeting-client
Version:
Vani Meeting Clinet SDK
72 lines (71 loc) • 3.43 kB
TypeScript
import { Participant } from "../model/Participant";
import { Track } from "../model/Track";
import { WebSocketMessageBody } from "../websocket-handler/WebsocketHandler";
import { BaseVideoCallHandler } from "./BaseVideoCallHandler";
import { PeerConnection } from "../model/PeerConnection";
export declare class WebrtcHandler extends BaseVideoCallHandler {
private dynamicLibHelper;
private rtcPeerConnections;
private adaptationManager;
onParticipantUpdated(): void;
onParticipantStartMeetingCalled(participant: Participant): Promise<void>;
resumeIncomingTrack(track: Track): void;
pauseIncomingTrack(track: Track): void;
onSocketMessage(websocketCallHandler: WebSocketMessageBody): void;
addTransceiverifRequired: (peerConnection: PeerConnection) => Promise<void>;
addTransceiverToEachTrackKind: (eachKind: string, peerConnection: PeerConnection, shouldReplaceIfExist?: boolean) => Promise<void>;
private checkIfCanSendOffer;
loopSendOffer: (peerConnectionObject: PeerConnection, participant: Participant, mungedOffer: any, count?: number) => Promise<void>;
onNewOffer: (data: {
sdp: string;
type: string;
sender: Participant;
}) => Promise<void>;
onNewAnswer: (data: {
sdp: string;
type: string;
sender: Participant;
}) => Promise<void>;
onRemoteNegotiationNeeded: (data: {
sender: Participant;
negotiationId: string;
shouldRestartIce: boolean;
isVideoAdded: boolean;
isAudioAdded: boolean;
}) => Promise<void>;
onIceCandidate: (data: {
candidate: any;
type: string;
sender: Participant;
}) => Promise<void>;
onRTCConnectionChanged: (remoteParticipant: Participant, count?: number) => Promise<void>;
subToConnectionState: (remoteParticipant: Participant) => Promise<void>;
onNegotiationNeeded: (remoteParticipant: Participant, shouldRestartIce?: boolean, count?: number, shouldForceFullyCreateOffer?: boolean) => Promise<void>;
onAllParticipants(participants: Participant[]): Promise<void>;
onUserLeft(participant: Participant): Promise<void>;
onUserJoined(participant: Participant): Promise<void>;
startSendTrackToPartiipant: (participant: Participant) => Promise<void>;
sendTrackToParticipant: (track: Track, participant: Participant) => Promise<void>;
private sendWebrtcMessage;
init(isForceFully?: boolean): Promise<void>;
onReconnect(): Promise<void>;
stopTrack(track: Track): void;
pauseTrack(track: Track): void;
resumeTrack(track: Track): void;
sendTrack(track: Track): void;
createDataChannel(): Promise<void>;
sendMessageViaDataChannel(messagePayload: any): void;
private isOfferInitParticipant;
private printLogIfRequired;
setOpusSdpParams: (sdp: string) => string;
setOpusParams: (transceiver: RTCRtpTransceiver) => void;
setOpusParamsForSender: (sender: RTCRtpSender) => void;
applyAudioPriority: (transceiver: RTCRtpTransceiver) => void;
onPing(): Promise<void>;
cleanup(shouldStopTracks?: boolean): Promise<void>;
onNewTrack: (track: MediaStreamTrack, receiver: RTCRtpReceiver, transceiver: RTCRtpTransceiver, remoteParticipant: Participant) => Promise<void>;
participantAudioVideoStatusUpdated(participant: Participant): void;
private registerTrack;
private watchForRealTrack;
private isPhantomTrack;
}