File: webrtc-stats.idl

package info (click to toggle)
firefox-esr 78.15.0esr-1~deb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 3,301,156 kB
  • sloc: cpp: 5,665,905; javascript: 4,798,386; ansic: 2,878,233; python: 977,004; asm: 270,347; xml: 181,456; java: 111,756; sh: 72,926; makefile: 21,819; perl: 13,380; cs: 4,725; yacc: 4,565; objc: 3,026; pascal: 1,787; lex: 1,720; ada: 1,681; exp: 505; php: 436; lisp: 260; awk: 152; ruby: 103; csh: 80; sed: 53; sql: 45
file content (363 lines) | stat: -rw-r--r-- 13,709 bytes parent folder | download | duplicates (4)
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Identifiers for WebRTC's Statistics API (https://w3c.github.io/webrtc-stats/)

enum RTCStatsType {
"codec",
"inbound-rtp",
"outbound-rtp",
"remote-inbound-rtp",
"remote-outbound-rtp",
"media-source",
"csrc",
"peer-connection",
"data-channel",
"stream",
"track",
"transceiver",
"sender",
"receiver",
"transport",
"sctp-transport",
"candidate-pair",
"local-candidate",
"remote-candidate",
"certificate",
"ice-server"
};

dictionary RTCRtpStreamStats : RTCStats {
             required unsigned long       ssrc;
             required DOMString           kind;
             DOMString           transportId;
             DOMString           codecId;
};

dictionary RTCCodecStats : RTCStats {
             required unsigned long payloadType;
             RTCCodecType  codecType;
             required DOMString     transportId;
             required DOMString     mimeType;
             unsigned long clockRate;
             unsigned long channels;
             DOMString     sdpFmtpLine;
};

enum RTCCodecType {
    "encode",
    "decode",
};

dictionary RTCReceivedRtpStreamStats : RTCRtpStreamStats {
             unsigned long long   packetsReceived;
             long long            packetsLost;
             double               jitter;
             unsigned long long   packetsDiscarded;
             unsigned long long   packetsRepaired;
             unsigned long long   burstPacketsLost;
             unsigned long long   burstPacketsDiscarded;
             unsigned long        burstLossCount;
             unsigned long        burstDiscardCount;
             double               burstLossRate;
             double               burstDiscardRate;
             double               gapLossRate;
             double               gapDiscardRate;
             unsigned long        framesDropped;
             unsigned long        partialFramesLost;
             unsigned long        fullFramesLost;

};

dictionary RTCInboundRtpStreamStats : RTCReceivedRtpStreamStats {
 required DOMString   receiverId;
 DOMString            remoteId;
 unsigned long        framesDecoded;
 unsigned long        keyFramesDecoded;
 unsigned long        frameWidth;
 unsigned long        frameHeight;
 unsigned long        frameBitDepth;
 double               framesPerSecond;
 unsigned long long   qpSum;
 double               totalDecodeTime;
 double               totalInterFrameDelay;
 double               totalSquaredInterFrameDelay;
 boolean              voiceActivityFlag;
 DOMHighResTimeStamp  lastPacketReceivedTimestamp;
 double               averageRtcpInterval;
 unsigned long long   headerBytesReceived;
 unsigned long long   fecPacketsReceived;
 unsigned long long   fecPacketsDiscarded;
 unsigned long long   bytesReceived;
 unsigned long long   packetsFailedDecryption;
 unsigned long long   packetsDuplicated;
 record<USVString, unsigned long long> perDscpPacketsReceived;
 unsigned long        nackCount;
 unsigned long        firCount;
 unsigned long        pliCount;
 unsigned long        sliCount;
 DOMHighResTimeStamp  estimatedPlayoutTimestamp;
 double               jitterBufferDelay;
 unsigned long long   jitterBufferEmittedCount;
 unsigned long long   totalSamplesReceived;
 unsigned long long   samplesDecodedWithSilk;
 unsigned long long   samplesDecodedWithCelt;
 unsigned long long   concealedSamples;
 unsigned long long   silentConcealedSamples;
 unsigned long long   concealmentEvents;
 unsigned long long   insertedSamplesForDeceleration;
 unsigned long long   removedSamplesForAcceleration;
 double               audioLevel;
 double               totalAudioEnergy;
 double               totalSamplesDuration;
 unsigned long        framesReceived;
 DOMString            decoderImplementation;
};

dictionary RTCRemoteInboundRtpStreamStats : RTCReceivedRtpStreamStats {
             DOMString            localId;
             double               roundTripTime;
             double               totalRoundTripTime;
             double               fractionLost;
             unsigned long long   reportsReceived;
             unsigned long long   roundTripTimeMeasurements;
};

dictionary RTCSentRtpStreamStats : RTCRtpStreamStats {
             unsigned long      packetsSent;
             unsigned long long bytesSent;
};

dictionary RTCOutboundRtpStreamStats : RTCSentRtpStreamStats {
             unsigned long        rtxSsrc;
             DOMString            mediaSourceId;
             DOMString            senderId;
             DOMString            remoteId;
             DOMString            rid;
             DOMHighResTimeStamp  lastPacketSentTimestamp;
             unsigned long long   headerBytesSent;
             unsigned long        packetsDiscardedOnSend;
             unsigned long long   bytesDiscardedOnSend;
             unsigned long        fecPacketsSent;
             unsigned long long   retransmittedPacketsSent;
             unsigned long long   retransmittedBytesSent;
             double               targetBitrate;
             unsigned long long   totalEncodedBytesTarget;
             unsigned long        frameWidth;
             unsigned long        frameHeight;
             unsigned long        frameBitDepth;
             double               framesPerSecond;
             unsigned long        framesSent;
             unsigned long        hugeFramesSent;
             unsigned long        framesEncoded;
             unsigned long        keyFramesEncoded;
             unsigned long        framesDiscardedOnSend;
             unsigned long long   qpSum;
             unsigned long long   totalSamplesSent;
             unsigned long long   samplesEncodedWithSilk;
             unsigned long long   samplesEncodedWithCelt;
             boolean              voiceActivityFlag;
             double               totalEncodeTime;
             double               totalPacketSendDelay;
             double               averageRtcpInterval;
             RTCQualityLimitationReason                 qualityLimitationReason;
             record<DOMString, double> qualityLimitationDurations;
             unsigned long        qualityLimitationResolutionChanges;
             record<USVString, unsigned long long> perDscpPacketsSent;
             unsigned long        nackCount;
             unsigned long        firCount;
             unsigned long        pliCount;
             unsigned long        sliCount;
             DOMString            encoderImplementation;
};

enum RTCQualityLimitationReason {
  "none",
  "cpu",
  "bandwidth",
  "other",
};

dictionary RTCRemoteOutboundRtpStreamStats : RTCSentRtpStreamStats {
             DOMString           localId;
             DOMHighResTimeStamp remoteTimestamp;
             unsigned long long  reportsSent;
};

dictionary RTCMediaSourceStats : RTCStats {
             required DOMString       trackIdentifier;
             required DOMString       kind;
             boolean         relayedSource;
};

dictionary RTCAudioSourceStats : RTCMediaSourceStats {
              double              audioLevel;
              double              totalAudioEnergy;
              double              totalSamplesDuration;
              double              echoReturnLoss;
              double              echoReturnLossEnhancement;
};

dictionary RTCVideoSourceStats : RTCMediaSourceStats {
             unsigned long   width;
             unsigned long   height;
             unsigned long   bitDepth;
             unsigned long   frames;
             double          framesPerSecond;
};

dictionary RTCRtpContributingSourceStats : RTCStats {
             required unsigned long contributorSsrc;
             required DOMString     inboundRtpStreamId;
             unsigned long packetsContributedTo;
             double        audioLevel;
};

dictionary RTCPeerConnectionStats : RTCStats {
            unsigned long dataChannelsOpened;
            unsigned long dataChannelsClosed;
            unsigned long dataChannelsRequested;
            unsigned long dataChannelsAccepted;
};

dictionary RTCRtpTransceiverStats : RTCStats {
    required DOMString senderId;
    required DOMString receiverId;
    DOMString mid;
};

dictionary RTCMediaHandlerStats : RTCStats {
             DOMString           trackIdentifier;
             boolean             ended;
             required DOMString  kind;
};

dictionary RTCVideoHandlerStats : RTCMediaHandlerStats {
};

dictionary RTCVideoSenderStats : RTCVideoHandlerStats {
             DOMString           mediaSourceId;
};

dictionary RTCVideoReceiverStats : RTCVideoHandlerStats {
};

dictionary RTCAudioHandlerStats : RTCMediaHandlerStats {
};

dictionary RTCAudioSenderStats : RTCAudioHandlerStats {
             DOMString           mediaSourceId;
};

dictionary RTCAudioReceiverStats : RTCAudioHandlerStats {
};

dictionary RTCDataChannelStats : RTCStats {
             DOMString           label;
             DOMString           protocol;
             unsigned short      dataChannelIdentifier;
             required DOMString  transportId;
             required RTCDataChannelState state;
             unsigned long       messagesSent;
             unsigned long long  bytesSent;
             unsigned long       messagesReceived;
             unsigned long long  bytesReceived;
};

dictionary RTCTransportStats : RTCStats {
             unsigned long long    packetsSent;
             unsigned long long    packetsReceived;
             unsigned long long    bytesSent;
             unsigned long long    bytesReceived;
             DOMString             rtcpTransportStatsId;
             RTCIceRole            iceRole;
             DOMString             iceLocalUsernameFragment;
             required RTCDtlsTransportState dtlsState;
             RTCIceTransportState  iceState;
             DOMString             selectedCandidatePairId;
             DOMString             localCertificateId;
             DOMString             remoteCertificateId;
             DOMString             tlsVersion;
             DOMString             dtlsCipher;
             DOMString             srtpCipher;
             DOMString             tlsGroup;
             unsigned long         selectedCandidatePairChanges;
};

dictionary RTCSctpTransportStats : RTCStats {
            double smoothedRoundTripTime;
            unsigned long congestionWindow;
            unsigned long receiverWindow;
            unsigned long mtu;
            unsigned long unackData;
};

dictionary RTCIceCandidateStats : RTCStats {
             required DOMString       transportId;
             DOMString?               address;
             long                     port;
             DOMString                protocol;
             required RTCIceCandidateType candidateType;
             long                     priority;
             DOMString                url;
             DOMString                relayProtocol;
};

dictionary RTCIceCandidatePairStats : RTCStats {
             required DOMString            transportId;
             required DOMString            localCandidateId;
             required DOMString            remoteCandidateId;
             required RTCStatsIceCandidatePairState state;
             boolean                       nominated;
             unsigned long long            packetsSent;
             unsigned long long            packetsReceived;
             unsigned long long            bytesSent;
             unsigned long long            bytesReceived;
             DOMHighResTimeStamp           lastPacketSentTimestamp;
             DOMHighResTimeStamp           lastPacketReceivedTimestamp;
             DOMHighResTimeStamp           firstRequestTimestamp;
             DOMHighResTimeStamp           lastRequestTimestamp;
             DOMHighResTimeStamp           lastResponseTimestamp;
             double                        totalRoundTripTime;
             double                        currentRoundTripTime;
             double                        availableOutgoingBitrate;
             double                        availableIncomingBitrate;
             unsigned long                 circuitBreakerTriggerCount;
             unsigned long long            requestsReceived;
             unsigned long long            requestsSent;
             unsigned long long            responsesReceived;
             unsigned long long            responsesSent;
             unsigned long long            retransmissionsReceived;
             unsigned long long            retransmissionsSent;
             unsigned long long            consentRequestsSent;
             DOMHighResTimeStamp           consentExpiredTimestamp;
             unsigned long                 packetsDiscardedOnSend;
             unsigned long long            bytesDiscardedOnSend;
             unsigned long long            requestBytesSent;
             unsigned long long            consentRequestBytesSent;
             unsigned long long            responseBytesSent;
};

enum RTCStatsIceCandidatePairState {
    "frozen",
    "waiting",
    "in-progress",
    "failed",
    "succeeded"
};

dictionary RTCCertificateStats : RTCStats {
             required DOMString fingerprint;
             required DOMString fingerprintAlgorithm;
             required DOMString base64Certificate;
             DOMString issuerCertificateId;
};

dictionary RTCIceServerStats : RTCStats {
           required DOMString url;
           long port;
           DOMString relayProtocol;
           unsigned long totalRequestsSent;
           unsigned long totalResponsesReceived;
           double totalRoundTripTime;
};