-
Notifications
You must be signed in to change notification settings - Fork 84
/
Copy pathgetStats.d.ts
86 lines (77 loc) · 1.96 KB
/
getStats.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
declare module '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;
}