// 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", "csrc", "peer-connection", "data-channel", "stream", "track", "sender", "receiver", "transport", "candidate-pair", "local-candidate", "remote-candidate", "certificate", "stunserverconnection" }; dictionary RTCRtpStreamStats : RTCStats { unsigned long ssrc; DOMString kind; DOMString transportId; DOMString codecId; }; dictionary RTCCodecStats : RTCStats { unsigned long payloadType; RTCCodecType codecType; DOMString transportId; DOMString mimeType; unsigned long clockRate; unsigned long channels; DOMString sdpFmtpLine; DOMString implementation; }; enum RTCCodecType { "encode", "decode", }; dictionary RTCReceivedRtpStreamStats : RTCRtpStreamStats { unsigned long packetsReceived; long packetsLost; double jitter; unsigned long packetsDiscarded; unsigned long packetsRepaired; unsigned long burstPacketsLost; unsigned long burstPacketsDiscarded; unsigned long burstLossCount; unsigned long burstDiscardCount; double burstLossRate; double burstDiscardRate; double gapLossRate; double gapDiscardRate; }; dictionary RTCInboundRtpStreamStats : RTCReceivedRtpStreamStats { DOMString trackId; DOMString receiverId; DOMString remoteId; unsigned long framesDecoded; unsigned long long qpSum; DOMHighResTimeStamp lastPacketReceivedTimestamp; double averageRtcpInterval; unsigned long fecPacketsReceived; unsigned long fecPacketsDiscarded; unsigned long long bytesReceived; unsigned long packetsFailedDecryption; unsigned long packetsDuplicated; record perDscpPacketsReceived; unsigned long nackCount; unsigned long firCount; unsigned long pliCount; unsigned long sliCount; }; dictionary RTCRemoteInboundRtpStreamStats : RTCReceivedRtpStreamStats { DOMString localId; double roundTripTime; double fractionLost; }; dictionary RTCSentRtpStreamStats : RTCRtpStreamStats { unsigned long packetsSent; unsigned long packetsDiscardedOnSend; unsigned long fecPacketsSent; unsigned long long bytesSent; unsigned long long bytesDiscardedOnSend; }; dictionary RTCOutboundRtpStreamStats : RTCSentRtpStreamStats { DOMString trackId; DOMString senderId; DOMString remoteId; DOMHighResTimeStamp lastPacketSentTimestamp; unsigned long long retransmittedPacketsSent; unsigned long long retransmittedBytesSent; double targetBitrate; unsigned long long totalEncodedBytesTarget; unsigned long framesEncoded; unsigned long long qpSum; double totalEncodeTime; double averageRtcpInterval; RTCQualityLimitationReason qualityLimitationReason; record qualityLimitationDurations; record perDscpPacketsSent; unsigned long nackCount; unsigned long firCount; unsigned long pliCount; unsigned long sliCount; }; enum RTCQualityLimitationReason { "none", "cpu", "bandwidth", "other", }; dictionary RTCRemoteOutboundRtpStreamStats : RTCSentRtpStreamStats { DOMString localId; DOMHighResTimeStamp remoteTimestamp; }; dictionary RTCRtpContributingSourceStats : RTCStats { unsigned long contributorSsrc; DOMString inboundRtpStreamId; unsigned long packetsContributedTo; double audioLevel; }; dictionary RTCPeerConnectionStats : RTCStats { unsigned long dataChannelsOpened; unsigned long dataChannelsClosed; unsigned long dataChannelsRequested; unsigned long dataChannelsAccepted; }; dictionary RTCMediaStreamStats : RTCStats { DOMString streamIdentifier; sequence trackIds; }; dictionary RTCMediaHandlerStats : RTCStats { DOMString trackIdentifier; boolean remoteSource; boolean ended; DOMString kind; RTCPriorityType priority; }; dictionary RTCVideoHandlerStats : RTCMediaHandlerStats { unsigned long frameWidth; unsigned long frameHeight; double framesPerSecond; }; dictionary RTCVideoSenderStats : RTCVideoHandlerStats { unsigned long framesCaptured; unsigned long framesSent; unsigned long hugeFramesSent; unsigned long keyFramesSent; }; dictionary RTCSenderVideoTrackAttachmentStats : RTCVideoSenderStats { }; dictionary RTCVideoReceiverStats : RTCVideoHandlerStats { DOMHighResTimeStamp estimatedPlayoutTimestamp; double jitterBufferDelay; unsigned long long jitterBufferEmittedCount; unsigned long framesReceived; unsigned long keyFramesReceived; unsigned long framesDecoded; unsigned long framesDropped; unsigned long partialFramesLost; unsigned long fullFramesLost; }; dictionary RTCAudioHandlerStats : RTCMediaHandlerStats { double audioLevel; double totalAudioEnergy; boolean voiceActivityFlag; double totalSamplesDuration; }; dictionary RTCAudioSenderStats : RTCAudioHandlerStats { double echoReturnLoss; double echoReturnLossEnhancement; unsigned long long totalSamplesSent; }; dictionary RTCSenderAudioTrackAttachmentStats : RTCAudioSenderStats { }; dictionary RTCAudioReceiverStats : RTCAudioHandlerStats { DOMHighResTimeStamp estimatedPlayoutTimestamp; double jitterBufferDelay; unsigned long long jitterBufferEmittedCount; unsigned long long totalSamplesReceived; unsigned long long concealedSamples; unsigned long long silentConcealedSamples; unsigned long long concealmentEvents; unsigned long long insertedSamplesForDeceleration; unsigned long long removedSamplesForAcceleration; }; dictionary RTCDataChannelStats : RTCStats { DOMString label; DOMString protocol; long dataChannelIdentifier; DOMString transportId; RTCDataChannelState state; unsigned long messagesSent; unsigned long long bytesSent; unsigned long messagesReceived; unsigned long long bytesReceived; }; dictionary RTCTransportStats : RTCStats { unsigned long packetsSent; unsigned long packetsReceived; unsigned long long bytesSent; unsigned long long bytesReceived; DOMString rtcpTransportStatsId; RTCIceRole iceRole; RTCDtlsTransportState dtlsState; DOMString selectedCandidatePairId; DOMString localCertificateId; DOMString remoteCertificateId; DOMString tlsVersion; DOMString dtlsCipher; DOMString srtpCipher; DOMString tlsGroup; }; dictionary RTCIceCandidateStats : RTCStats { DOMString transportId; RTCNetworkType networkType; DOMString? address; long port; DOMString protocol; RTCIceCandidateType candidateType; long priority; DOMString url; DOMString relayProtocol; boolean deleted = false; }; enum RTCNetworkType { "bluetooth", "cellular", "ethernet", "wifi", "wimax", "vpn", "unknown" }; dictionary RTCIceCandidatePairStats : RTCStats { DOMString transportId; DOMString localCandidateId; DOMString remoteCandidateId; RTCStatsIceCandidatePairState state; boolean nominated; unsigned long packetsSent; unsigned 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; }; enum RTCStatsIceCandidatePairState { "frozen", "waiting", "in-progress", "failed", "succeeded" }; dictionary RTCCertificateStats : RTCStats { DOMString fingerprint; DOMString fingerprintAlgorithm; DOMString base64Certificate; DOMString issuerCertificateId; }; dictionary RTCStunServerConnectionStats : RTCStats { DOMString url; long port; DOMString protocol; RTCNetworkType networkType; unsigned long totalRequestsSent; unsigned long totalResponsesReceived; double totalRoundTripTime; }; partial dictionary RTCIceCandidateStats { boolean isRemote; }; partial dictionary RTCIceCandidatePairStats { double totalRtt; double currentRtt; unsigned long long priority; }; partial dictionary RTCRtpStreamStats { DOMString mediaType; double averageRTCPInterval; }; partial dictionary RTCInboundRtpStreamStats { double fractionLost; };