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