99 lines
3.2 KiB
TypeScript
99 lines
3.2 KiB
TypeScript
import { ConnectionStatsBandwidth, ConnectionStatsBitrate, PacketLoss } from "./connectionStats";
|
|
import { TransportStats } from "./transportStats";
|
|
import { Resolution } from "./media/mediaTrackStats";
|
|
export declare enum StatsReport {
|
|
CONNECTION_STATS = "StatsReport.connection_stats",
|
|
CALL_FEED_REPORT = "StatsReport.call_feed_report",
|
|
BYTE_SENT_STATS = "StatsReport.byte_sent_stats",
|
|
SUMMARY_STATS = "StatsReport.summary_stats"
|
|
}
|
|
export interface ByteSentStatsReport extends Map<TrackID, ByteSend> {
|
|
callId?: string;
|
|
opponentMemberId?: string;
|
|
}
|
|
export type TrackID = string;
|
|
export type ByteSend = number;
|
|
export interface ConnectionStatsReport {
|
|
callId?: string;
|
|
opponentMemberId?: string;
|
|
bandwidth: ConnectionStatsBandwidth;
|
|
bitrate: ConnectionStatsBitrate;
|
|
packetLoss: PacketLoss;
|
|
audioConcealment: Map<TrackID, AudioConcealment>;
|
|
totalAudioConcealment: AudioConcealment;
|
|
resolution: ResolutionMap;
|
|
framerate: FramerateMap;
|
|
codec: CodecMap;
|
|
jitter: Map<TrackID, number>;
|
|
transport: TransportStats[];
|
|
}
|
|
export interface AudioConcealment {
|
|
concealedAudio: number;
|
|
totalAudioDuration: number;
|
|
}
|
|
export interface ResolutionMap {
|
|
local: Map<TrackID, Resolution>;
|
|
remote: Map<TrackID, Resolution>;
|
|
}
|
|
export interface FramerateMap {
|
|
local: Map<TrackID, number>;
|
|
remote: Map<TrackID, number>;
|
|
}
|
|
export interface CodecMap {
|
|
local: Map<TrackID, string>;
|
|
remote: Map<TrackID, string>;
|
|
}
|
|
export interface SummaryStatsReport {
|
|
/**
|
|
* Aggregated the information for percentage of received media
|
|
*
|
|
* This measure whether the current user receive data from a call participants.
|
|
* As soon as a participant sends at least a byte media to this user, this counts as one measurement unit.
|
|
* The units of measure divided by the total number of participants is a value between 0 and 1.
|
|
*/
|
|
percentageReceivedMedia: number;
|
|
percentageReceivedAudioMedia: number;
|
|
percentageReceivedVideoMedia: number;
|
|
maxJitter: number;
|
|
maxPacketLoss: number;
|
|
percentageConcealedAudio: number;
|
|
peerConnections: number;
|
|
opponentUsersInCall?: number;
|
|
opponentDevicesInCall?: number;
|
|
diffDevicesToPeerConnections?: number;
|
|
ratioPeerConnectionToDevices?: number;
|
|
}
|
|
export interface CallFeedReport {
|
|
callId: string;
|
|
opponentMemberId: string;
|
|
transceiver: TransceiverStats[];
|
|
callFeeds: CallFeedStats[];
|
|
}
|
|
export interface CallFeedStats {
|
|
stream: string;
|
|
type: "remote" | "local";
|
|
audio: TrackStats | null;
|
|
video: TrackStats | null;
|
|
purpose: string;
|
|
prefix: string;
|
|
isVideoMuted: boolean;
|
|
isAudioMuted: boolean;
|
|
}
|
|
export interface TransceiverStats {
|
|
readonly mid: string;
|
|
readonly sender: TrackStats | null;
|
|
readonly receiver: TrackStats | null;
|
|
readonly direction: string;
|
|
readonly currentDirection: string;
|
|
}
|
|
export interface TrackStats {
|
|
readonly id: string;
|
|
readonly kind: "audio" | "video";
|
|
readonly settingDeviceId: string;
|
|
readonly constrainDeviceId: string;
|
|
readonly muted: boolean;
|
|
readonly enabled: boolean;
|
|
readonly readyState: "ended" | "live";
|
|
readonly label: string;
|
|
}
|
|
//# sourceMappingURL=statsReport.d.ts.map
|