@jonz94/getstats
Version:
Fork from https://github.com/manuquentin/getStats
87 lines (77 loc) • 2.02 kB
TypeScript
declare module '@jonz94/getstats' {
interface GetStatsBandwidth {
speed: number;
systemBandwidth: number;
sentPerSecond: number;
encodedPerSecond: number;
helper: {
audioBytesSent: number;
videoBytestSent: number;
videoBytesSent: number;
};
availableSendBandwidth: number;
googActualEncBitrate: number;
googAvailableSendBandwidth: number;
googAvailableReceiveBandwidth: number;
googRetransmitBitrate: number;
googTargetEncBitrate: number;
googBucketDelay: number;
googTransmitBitrate: number;
}
interface GetStatsConnectionInfo {
tracks: string[];
codecs: string[];
availableBandwidth: string;
streams: number;
framerateMean: number;
bitrateMean: number;
}
interface GetStatsConnectionStream {
send: GetStatsConnectionInfo;
recv: GetStatsConnectionInfo;
bytesSent: number;
bytesReceived: number;
latency: number;
packetsLost: number;
}
interface GetStatsNetworkInfo {
candidateType: string[];
transport: string[];
ipAddress: string[];
networkType: string[];
}
interface GetStatsConnectionType {
systemNetworkType: string;
systemIpAddress: string[];
local: GetStatsNetworkInfo;
remote: GetStatsNetworkInfo;
transport: string;
}
interface GetStatsResolution {
width: string;
height: string;
}
interface GetStatsResolutions {
send: GetStatsResolution;
recv: GetStatsResolution;
}
export interface GetStatsResult {
datachannel: {
state: 'open' | 'close';
};
isOfferer: boolean;
encryption: string;
bandwidth: GetStatsBandwidth;
audio: GetStatsConnectionStream;
video: GetStatsConnectionStream;
connectionType: GetStatsConnectionType;
resolutions: GetStatsResolutions;
results: any[];
nomore: () => void;
}
export default function getstats(
rtc: RTCPeerConnection,
callback: (result: GetStatsResult) => void,
interval?: number,
): void;
}