testing/web-platform/tests/interfaces/webrtc-stats.idl
author autofoolip <auto@foolip.org>
Mon, 15 Apr 2019 14:37:13 +0000
changeset 470908 8326f6b50fd59ba9cd4ed0da282cb1fb204348d1
parent 470882 3978dc065d07cce17c7c45b2351f47b2dc971a19
child 476920 717ab1b8f9f89dcb679c20438b799b6a53038a8f
permissions -rw-r--r--
Bug 1538340 [wpt PR 15972] - Update interfaces/webrtc-stats.idl, a=testonly Automatic update from web-platform-tests Update interfaces/webrtc-stats.idl (#15972) Source: https://github.com/tidoust/reffy-reports/blob/7c63e10/whatwg/idl/webrtc-stats.idl Build: https://travis-ci.org/tidoust/reffy-reports/builds/509282158 -- wpt-commits: 6a578b04d42834c1bfc209c87aaab0995959a9f8 wpt-pr: 15972

// 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<USVString, unsigned long> 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;
             double targetBitrate;
             unsigned long framesEncoded;
             unsigned long long qpSum;
             double totalEncodeTime;
             double averageRtcpInterval;
             RTCQualityLimitationReason qualityLimitationReason;
             record<DOMString, double> qualityLimitationDurations;
             record<USVString, unsigned long> 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<DOMString> 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;
};

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;
};