@observertc/monitor-schemas
Version:
ObserveRTC Library for Schemas
319 lines • 10.4 kB
TypeScript
type RtcStatsVersion = {
date: Date;
};
export declare const version: RtcStatsVersion;
export declare enum StatsType {
codec = "codec",
inboundRtp = "inbound-rtp",
outboundRtp = "outbound-rtp",
remoteInboundRtp = "remote-inbound-rtp",
remoteOutboundRtp = "remote-outbound-rtp",
mediaSource = "media-source",
mediaPlayout = "media-playout",
peerConnection = "peer-connection",
dataChannel = "data-channel",
transport = "transport",
candidatePair = "candidate-pair",
localCandidate = "local-candidate",
remoteCandidate = "remote-candidate",
certificate = "certificate",
stream = "stream",
track = "track",
transceiver = "transceiver",
csrc = "csrc",
sender = "sender",
receiver = "receiver",
sctpTransport = "sctp-transport",
iceServer = "ice-server"
}
export type RtcMediaSourceCompoundStats = RtcAudioSourceStats | RtcVideoSourceStats;
export type RtcSenderCompoundStats = RtcAudioSenderStats | RtcVideoSenderStats;
export type RtcReceiverCompoundStats = RtcAudioReceiverStats | RtcVideoReceiverStats;
export type RtcLocalCandidateStats = RtcIceCandidateStats;
export type RtcRemoteCandidateStats = RtcIceCandidateStats;
export interface RtcStats {
id: string;
type: string;
timestamp: number;
}
export type RtcMediaKind = "audio" | "video";
export interface RtcRtpStreamStats extends RtcStats {
ssrc: number;
kind: RtcMediaKind;
transportId?: string;
codecId?: string;
}
export type RtcCodecType = "encode" | "decode";
export interface RtcCodecStats extends RtcStats {
payloadType: string;
transportId: string;
mimeType: string;
clockRate?: number;
channels?: number;
sdpFmtpLine?: string;
}
export interface RtcReceivedRtpStreamStats extends RtcRtpStreamStats {
packetsReceived?: number;
packetsLost?: number;
jitter?: number;
framesDropped?: number;
}
export type DscpPacketStats = Record<string, number>;
export interface RtcInboundRtpStreamStats extends RtcReceivedRtpStreamStats {
trackIdentifier?: string;
mid?: string;
remoteId?: string;
framesDecoded?: number;
keyFramesDecoded?: number;
frameWidth?: number;
frameHeight?: number;
framesPerSecond?: number;
qpSum?: number;
totalDecodeTime?: number;
totalInterFrameDelay?: number;
totalSquaredInterFrameDelay?: number;
lastPacketReceivedTimestamp?: number;
headerBytesReceived?: number;
packetsDiscarded?: number;
fecPacketsReceived?: number;
fecPacketsDiscarded?: number;
bytesReceived?: number;
nackCount?: number;
firCount?: number;
pliCount?: number;
totalProcessingDelay?: number;
estimatedPlayoutTimestamp?: number;
jitterBufferDelay?: number;
jitterBufferTargetDelay?: number;
jitterBufferEmittedCount?: number;
jitterBufferMinimumDelay?: number;
totalSamplesReceived?: number;
concealedSamples?: number;
silentConcealedSamples?: number;
concealmentEvents?: number;
insertedSamplesForDeceleration?: number;
removedSamplesForAcceleration?: number;
audioLevel?: number;
totalAudioEnergy?: number;
totalSamplesDuration?: number;
framesReceived?: number;
decoderImplementation?: string;
playoutId?: string;
receiverId?: string;
}
export interface RtcRemoteInboundRtpStreamStats extends RtcReceivedRtpStreamStats {
localId?: string;
roundTripTime?: number;
totalRoundTripTime?: number;
fractionLost?: number;
roundTripTimeMeasurements?: number;
}
export interface RtcSentRtpStreamStats extends RtcRtpStreamStats {
packetsSent?: number;
bytesSent?: number;
}
export type RtcQualityLimitationReason = "none" | "cpu" | "bandwidth" | "other";
export type RtcQualityLimitationDurations = {
none?: number;
cpu?: number;
bandwidth?: number;
other?: number;
};
export interface RtcOutboundRTPStreamStats extends RtcSentRtpStreamStats {
mid?: string;
mediaSourceId?: string;
remoteId?: string;
rid?: string;
headerBytesSent?: number;
retransmittedPacketsSent?: number;
retransmittedBytesSent?: number;
targetBitrate?: number;
totalEncodedBytesTarget?: number;
frameWidth?: number;
frameHeight?: number;
framesPerSecond?: number;
framesSent?: number;
hugeFramesSent?: number;
framesEncoded?: number;
keyFramesEncoded?: number;
qpSum?: number;
totalEncodeTime?: number;
totalPacketSendDelay?: number;
averageRtcpInterval?: number;
qualityLimitationReason?: RtcQualityLimitationReason;
qualityLimitationDurations?: RtcQualityLimitationDurations;
qualityLimitationResolutionChanges?: number;
nackCount?: number;
firCount?: number;
pliCount?: number;
encoderImplementation?: string;
active?: boolean;
senderId?: string;
}
export interface RtcRemoteOutboundRTPStreamStats extends RtcSentRtpStreamStats {
localId?: string;
remoteTimestamp?: number;
reportsSent?: number;
roundTripTime?: number;
totalRoundTripTime?: number;
roundTripTimeMeasurements?: number;
}
export interface RtcMediaSourceStats extends RtcStats {
trackIdentifier: string;
kind: RtcMediaKind;
relayedSource?: boolean;
}
export interface RtcAudioSourceStats extends RtcMediaHandlerStats {
audioLevel?: number;
totalAudioEnergy?: number;
totalSamplesDuration?: number;
echoReturnLoss?: number;
echoReturnLossEnhancement?: number;
droppedSamplesDuration?: number;
droppedSamplesEvents?: number;
totalCaptureDelay?: number;
totalSamplesCaptured?: number;
}
export interface RtcVideoSourceStats extends RtcMediaSourceStats {
width?: number;
height?: number;
frames?: number;
framesPerSecond?: number;
}
export interface RtcRtpContributingSourceStats extends RtcStats {
contributorSsrc: number;
inboundRtpStreamId: string;
packetsContributedTo?: number;
audioLevel?: number;
}
export interface RtcPeerConnectionStats extends RtcStats {
dataChannelsOpened?: number;
dataChannelsClosed?: number;
}
export interface RtcRtpTransceiverStats extends RtcStats {
senderId: string;
receiverId: string;
mid?: string;
}
export interface RtcMediaHandlerStats extends RtcStats {
trackIdentifier?: string;
ended?: boolean;
kind: RtcMediaKind;
}
export interface RtcVideoHandlerStats extends RtcMediaHandlerStats {
}
export interface RtcVideoSenderStats extends RtcVideoHandlerStats {
mediaSourceId?: string;
}
export interface RtcVideoReceiverStats extends RtcVideoHandlerStats {
}
export interface RtcAudioHandlerStats extends RtcMediaHandlerStats {
}
export interface RtcAudioSenderStats extends RtcAudioHandlerStats {
mediaSourceId?: string;
}
export interface RtcAudioReceiverStats extends RtcAudioHandlerStats {
}
export interface RTCAudioPlayoutStats extends RtcStats {
synthesizedSamplesDuration?: number;
synthesizedSamplesEvents?: number;
totalSamplesDuration?: number;
totalPlayoutDelay?: number;
totalSamplesCount?: number;
}
export type RtcDataChannelState = "connecting" | "open" | "closing" | "closed";
export interface RtcDataChannelStats extends RtcStats {
label?: string;
protocol?: string;
dataChannelIdentifier?: number;
state: RtcDataChannelState;
messagesSent?: number;
bytesSent?: number;
messagesReceived?: number;
bytesReceived?: number;
}
export type RtcIceRole = "unknown" | "controlling" | "controlled";
export type RtcDtlsTransportState = "closed" | "connected" | "connecting" | "failed" | "new";
export type RtcIceTransportState = "closed" | "connected" | "failed" | "new" | "checking" | "completed" | "disconnected";
export type RtcDtlsRole = "client" | "server" | "unknown";
export interface RtcTransportStats extends RtcStats {
packetsSent?: number;
packetsReceived?: number;
bytesSent?: number;
bytesReceived?: number;
iceRole?: RtcIceRole;
iceLocalUsernameFragment?: string;
dtlsState: RtcDtlsTransportState;
iceState?: RtcIceTransportState;
selectedCandidatePairId?: string;
localCertificateId?: string;
remoteCertificateId?: string;
tlsVersion?: string;
dtlsCipher?: string;
dtlsRole?: RtcDtlsRole;
srtpCipher?: string;
selectedCandidatePairChanges?: number;
rtcpTransportStatsId?: string;
}
export interface RtcSctpTransportStats extends RtcStats {
transportId?: string;
smoothedRoundTripTime?: number;
congestionWindow?: number;
receiverWindow?: number;
mtu?: number;
unackData?: number;
}
export type RtcIceCandidateType = "host" | "prflx" | "relay" | "srflx";
export type RtcTransportProtocol = "udp" | "tcp";
export type RtcRelayProtocol = "udp" | "tcp" | "tls";
export interface RtcIceCandidateStats extends RtcStats {
transportId: string;
address?: string;
port?: number;
protocol?: RtcTransportProtocol;
candidateType: RtcIceCandidateType;
priority?: number;
url?: string;
relayProtocol?: RtcRelayProtocol;
}
export type RtcStatsIceCandidatePairState = "failed" | "cancelled" | "frozen" | "inprogress" | "succeeded" | "waiting";
export interface RtcIceCandidatePairStats extends RtcStats {
transportId: string;
localCandidateId: string;
remoteCandidateId: string;
state: RtcStatsIceCandidatePairState;
nominated?: boolean;
packetsSent?: number;
packetsReceived?: number;
bytesSent?: number;
bytesReceived?: number;
lastPacketSentTimestamp?: number;
lastPacketReceivedTimestamp?: number;
totalRoundTripTime?: number;
currentRoundTripTime?: number;
availableOutgoingBitrate?: number;
availableIncomingBitrate?: number;
requestsReceived?: number;
requestsSent?: number;
responsesReceived?: number;
responsesSent?: number;
consentRequestsSent?: number;
packetsDiscardedOnSend?: number;
bytesDiscardedOnSend?: number;
}
export interface RtcCertificateStats extends RtcStats {
fingerprint: string;
fingerprintAlgorithm: string;
base64Certificate: string;
issuerCertificateId?: string;
}
export interface RtcIceServerStats extends RtcStats {
url: string;
port?: number;
relayProtocol?: RtcRelayProtocol;
totalRequestsSent?: number;
totalResponsesReceived?: number;
totalRoundTripTime?: number;
}
export {};
//# sourceMappingURL=W3cStatsIdentifiers.d.ts.map