infobip-rtc
Version:
Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation
48 lines (47 loc) • 2.29 kB
TypeScript
import { Logger } from "../Logger";
import { NetworkQualityStatistics } from "./media/NetworkQualityStatistics";
import { CandidatePair } from "./transport/CandidatePair";
import { TotalMediaStats } from "../../call/stats/TotalMediaStats";
import { CurrentMediaStats } from "../../call/stats/CurrentMediaStats";
import { MediaType } from "../util/MediaType";
import { InfobipGateway } from "../../gateway/InfobipGateway";
export type NetworkQualityStatisticsCallback = (networkQualityStatistics: NetworkQualityStatistics, currentMediaStats: CurrentMediaStats) => void;
export declare class PeerConnectionMediaMonitor {
callId: string;
private name;
conferenceId: string;
private pc;
private mediaType;
private logger;
private gateway;
protected static MONITOR_ICE_STATES: Set<string>;
protected static DEFAULT_MONITOR_ICE_CANDIDATE_INTERVAL: number;
protected static DEFAULT_MONITOR_SUMMARY_INTERVAL: number;
protected static DEFAULT_MONITOR_TRACK_INTERVAL: number;
protected readonly iceCandidateInterval: any;
protected readonly summaryInterval: any;
protected readonly trackMonitoringInterval: any;
protected selectedCandidatePair: CandidatePair;
protected networkQualityStatisticsListener: NetworkQualityStatisticsCallback;
private readonly previousConferenceStats;
constructor(callId: string, name: string, conferenceId: string, pc: RTCPeerConnection, mediaType: MediaType, logger: Logger, gateway: InfobipGateway);
stop(): TotalMediaStats;
onNetworkQualityStatistics(callback: NetworkQualityStatisticsCallback): void;
protected isAudio(): boolean;
protected isVideo(): boolean;
protected sendSelectedCandidatePair(rtcStatsReport: RTCStatsReport): void;
protected sendTotalCallStats(): TotalMediaStats;
protected sendTrackStats(): void;
protected sendIceCandidates(): Promise<void>;
protected sendSummaryStats(): void;
private sendStatsForTrack;
private emitNetworkQualityStats;
private getCurrentMediaStats;
private sendSummaryStatsForPeerConnection;
private sendStatsForLabeledTrack;
private sendExtractedMediaStats;
private sendExtractedStats;
private fillAudioStats;
private fillRemoteAudioStats;
private fillLocalAudioStats;
}