Amazon Kinesis Webrtc C SDK
Stats.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QualityLimitationDurationsRecord
 
struct  DscpPacketsSentRecord
 Record of total number of packets sent per DSCP. Used by RTCOutboundRtpStreamStats object. More...
 
struct  RtcIceCandidatePairStats
 RtcIceCandidatePairStats Stats related to the local-remote ICE candidate pair. More...
 
struct  RtcIceServerStats
 : RtcIceServerStats Stats related to the ICE Server More...
 
struct  KvsIceAgentStats
 : IceAgent profiling Stats related to the KVS ICE Agent More...
 
struct  RtcIceCandidateStats
 : RtcIceCandidateStats Stats related to a specific candidate in a pair More...
 
struct  RtcTransportStats
 RtcTransportStats Represents the stats corresponding to an RTCDtlsTransport and its underlying RTCIceTransport. More...
 
struct  RTCRtpStreamStats
 RTCRtpStreamStats captures stream stats that will be used as part of RTCSentRtpStreamStats report Reference: https://www.w3.org/TR/webrtc-stats/#dom-rtcrtpstreamstats. More...
 
struct  RTCSentRtpStreamStats
 RTCSentRtpStreamStats will be used as part of outbound Rtp stats Reference: https://www.w3.org/TR/webrtc-stats/#dom-rtcsentrtpstreamstats. More...
 
struct  RtcOutboundRtpStreamStats
 RtcOutboundRtpStreamStats Gathers stats for media stream from the embedded device Note: RTCOutboundRtpStreamStats extends RTCSentRtpStreamStats as per https://www.w3.org/TR/webrtc-stats/#dom-rtcoutboundrtpstreamstats. More...
 
struct  RtcRemoteInboundRtpStreamStats
 RTCRemoteInboundRtpStreamStats Represents the remote endpoint's measurement metrics for a particular incoming RTP stream. More...
 
struct  RtcReceivedRtpStreamStats
 
struct  RtcInboundRtpStreamStats
 The RTCInboundRtpStreamStats dictionary represents the measurement metrics for the incoming RTP media stream. The timestamp reported in the statistics object is the time at which the data was sampled. More...
 
struct  RtcDataChannelStats
 
struct  SignalingClientStats
 SignalingClientMetrics Represent the stats related to the KVS WebRTC SDK signaling client. More...
 
struct  PeerConnectionStats
 
struct  RtcStatsObject
 RTCStatsObject Represents an object passed in by the application developer which will be populated internally. More...
 

Macros

#define MAX_CANDIDATE_ID_LENGTH   9U
 
#define MAX_ICE_CONFIG_URI_LEN   127
 
#define MAX_RELAY_PROTOCOL_LENGTH   8U
 
#define MAX_TLS_VERSION_LENGTH   8U
 
#define MAX_DTLS_CIPHER_LENGTH   64U
 
#define MAX_SRTP_CIPHER_LENGTH   64U
 
#define MAX_TLS_GROUP_LENGHTH   32U
 
#define MAX_PROTOCOL_LENGTH   7U
 
#define IP_ADDR_STR_LENGTH   45U
 
#define MAX_STATS_STRING_LENGTH   255U
 
#define MAX_CANDIDATE_TYPE_LENGTH   7U
 

Typedefs

typedef CHAR DOMString[255U+1]
 DOMString type is used to store strings of size 256 bytes (inclusive of '\0' character. More...
 
typedef UINT64 DOMHighResTimeStamp
 The DOMHighResTimeStamp type is used to store a time value in milliseconds, measured relative from the time origin, global monotonic clock, or a time value that represents a duration between two DOMHighResTimeStamps. More...
 
typedef struct QualityLimitationDurationsRecordPQualityLimitationDurationsRecord
 
typedef struct DscpPacketsSentRecordPDscpPacketsSentRecord
 
typedef struct RtcIceCandidatePairStatsPRtcIceCandidatePairStats
 
typedef struct RtcIceServerStatsPRtcIceServerStats
 
typedef struct KvsIceAgentStatsPKvsIceAgentStats
 
typedef struct RtcIceCandidateStatsPRtcIceCandidateStats
 
typedef struct RtcTransportStatsPRtcTransportStats
 
typedef struct RTCRtpStreamStatsPRTCRtpStreamStats
 
typedef struct RTCSentRtpStreamStatsPRTCSentRtpStreamStats
 
typedef struct RtcOutboundRtpStreamStatsPRtcOutboundRtpStreamStats
 
typedef struct RtcRemoteInboundRtpStreamStatsPRtcRemoteInboundRtpStreamStats
 
typedef struct RtcReceivedRtpStreamStatsPRtcReceivedRtpStreamStats
 
typedef struct RtcInboundRtpStreamStatsPRtcInboundRtpStreamStats
 
typedef struct RtcDataChannelStatsPRtcDataChannelStats
 
typedef struct SignalingClientStatsPSignalingClientStats
 
typedef struct PeerConnectionStatsPPeerConnectionStats
 
typedef struct RtcStatsObjectPRtcStatsObject
 

Enumerations

enum  ICE_CANDIDATE_TYPE { ICE_CANDIDATE_TYPE_HOST = 0 , ICE_CANDIDATE_TYPE_PEER_REFLEXIVE = 1 , ICE_CANDIDATE_TYPE_SERVER_REFLEXIVE = 2 , ICE_CANDIDATE_TYPE_RELAYED = 3 }
 
enum  RTC_STATS_TYPE {
  RTC_STATS_TYPE_CANDIDATE_PAIR , RTC_STATS_TYPE_CERTIFICATE , RTC_STATS_TYPE_CODEC , RTC_STATS_TYPE_ICE_SERVER ,
  RTC_STATS_TYPE_CSRC , RTC_STATS_TYPE_DATA_CHANNEL , RTC_STATS_TYPE_INBOUND_RTP , RTC_STATS_TYPE_LOCAL_CANDIDATE ,
  RTC_STATS_TYPE_OUTBOUND_RTP , RTC_STATS_TYPE_PEER_CONNECTION , RTC_STATS_TYPE_RECEIVER , RTC_STATS_TYPE_REMOTE_CANDIDATE ,
  RTC_STATS_TYPE_REMOTE_INBOUND_RTP , RTC_STATS_TYPE_REMOTE_OUTBOUND_RTP , RTC_STATS_TYPE_SENDER , RTC_STATS_TYPE_TRACK ,
  RTC_STATS_TYPE_TRANSPORT , RTC_STATS_TYPE_SCTP_TRANSPORT , RTC_STATS_TYPE_TRANSCEIVER , RTC_STATS_TYPE_RTC_ALL
}
 Type of Stats object requested by the application Reference https://www.w3.org/TR/webrtc-stats/#rtcstatstype-str*. More...
 
enum  ICE_CANDIDATE_PAIR_STATE {
  ICE_CANDIDATE_PAIR_STATE_FROZEN = 0 , ICE_CANDIDATE_PAIR_STATE_WAITING = 1 , ICE_CANDIDATE_PAIR_STATE_IN_PROGRESS = 2 , ICE_CANDIDATE_PAIR_STATE_SUCCEEDED = 3 ,
  ICE_CANDIDATE_PAIR_STATE_FAILED = 4
}
 Indicates computing states in the checklist Reference: https://www.w3.org/TR/webrtc-stats/#rtcstatsicecandidatepairstate-enum. More...
 
enum  RTC_ICE_ROLE { RTC_ICE_ROLE_UNKNOWN , RTC_ICE_ROLE_CONTROLLING , RTC_ICE_ROLE_CONTROLLED }
 Set details of the IceAgent based on STUN_ATTRIBUTE_TYPE_USE_CANDIDATE flag Reference: https://www.w3.org/TR/webrtc/#rtcicerole. More...
 
enum  RTC_DTLS_TRANSPORT_STATE_STATS {
  RTC_DTLS_TRANSPORT_STATE_STATS_NEW , RTC_DTLS_TRANSPORT_STATE_STATS_CONNECTING , RTC_DTLS_TRANSPORT_STATE_STATS_CONNECTED , RTC_DTLS_TRANSPORT_STATE_STATS_CLOSED ,
  RTC_DTLS_TRANSPORT_STATE_STATS_FAILED
}
 DTLS Transport State Reference: https://www.w3.org/TR/webrtc/#rtcdtlstransport-interface. More...
 
enum  RTC_QUALITY_LIMITATION_REASON { RTC_QUALITY_LIMITATION_REASON_NONE , RTC_QUALITY_LIMITATION_REASON_BANDWIDTH , RTC_QUALITY_LIMITATION_REASON_CPU , RTC_QUALITY_LIMITATION_REASON_OTHER }
 Defines reasons for quality limitation for sending streams. More...
 
enum  RTC_DATA_CHANNEL_STATE { RTC_DATA_CHANNEL_STATE_CONNECTING , RTC_DATA_CHANNEL_STATE_OPEN , RTC_DATA_CHANNEL_STATE_CLOSING , RTC_DATA_CHANNEL_STATE_CLOSED }
 

Macro Definition Documentation

◆ MAX_CANDIDATE_TYPE_LENGTH

#define MAX_CANDIDATE_TYPE_LENGTH   7U

Maximum length of candidate type (host, srflx, relay, prflx, unknown)

Typedef Documentation

◆ DOMHighResTimeStamp

typedef UINT64 DOMHighResTimeStamp

The DOMHighResTimeStamp type is used to store a time value in milliseconds, measured relative from the time origin, global monotonic clock, or a time value that represents a duration between two DOMHighResTimeStamps.

Reference: https://www.w3.org/TR/hr-time-2/#sec-domhighrestimestamp

◆ DOMString

typedef CHAR DOMString[255U+1]

DOMString type is used to store strings of size 256 bytes (inclusive of '\0' character.

Reference: https://heycam.github.io/webidl/#idl-DOMString

Enumeration Type Documentation

◆ ICE_CANDIDATE_PAIR_STATE

Indicates computing states in the checklist Reference: https://www.w3.org/TR/webrtc-stats/#rtcstatsicecandidatepairstate-enum.

Enumerator
ICE_CANDIDATE_PAIR_STATE_FROZEN 
ICE_CANDIDATE_PAIR_STATE_WAITING 
ICE_CANDIDATE_PAIR_STATE_IN_PROGRESS 
ICE_CANDIDATE_PAIR_STATE_SUCCEEDED 
ICE_CANDIDATE_PAIR_STATE_FAILED 

◆ ICE_CANDIDATE_TYPE

Type of ICE Candidate

Enumerator
ICE_CANDIDATE_TYPE_HOST 

ICE_CANDIDATE_TYPE_HOST.

ICE_CANDIDATE_TYPE_PEER_REFLEXIVE 

ICE_CANDIDATE_TYPE_PEER_REFLEXIVE.

ICE_CANDIDATE_TYPE_SERVER_REFLEXIVE 

ICE_CANDIDATE_TYPE_SERVER_REFLEXIVE.

ICE_CANDIDATE_TYPE_RELAYED 

ICE_CANDIDATE_TYPE_RELAYED.

◆ RTC_DTLS_TRANSPORT_STATE_STATS

DTLS Transport State Reference: https://www.w3.org/TR/webrtc/#rtcdtlstransport-interface.

Enumerator
RTC_DTLS_TRANSPORT_STATE_STATS_NEW 

DTLS has not started negotiating yet.

RTC_DTLS_TRANSPORT_STATE_STATS_CONNECTING 

DTLS is in the process of negotiating a secure connection.

RTC_DTLS_TRANSPORT_STATE_STATS_CONNECTED 

DTLS has completed negotiation of a secure connection.

RTC_DTLS_TRANSPORT_STATE_STATS_CLOSED 

The transport has been closed intentionally.

RTC_DTLS_TRANSPORT_STATE_STATS_FAILED 

The transport has failed as the result of an error.

◆ RTC_ICE_ROLE

Set details of the IceAgent based on STUN_ATTRIBUTE_TYPE_USE_CANDIDATE flag Reference: https://www.w3.org/TR/webrtc/#rtcicerole.

Enumerator
RTC_ICE_ROLE_UNKNOWN 

An agent whose role is undetermined. Initial state.

RTC_ICE_ROLE_CONTROLLING 

A controlling agent. The ICE agent that is responsible for selecting the final choice of candidate pairs.

RTC_ICE_ROLE_CONTROLLED 

A controlled agent. The iCE agent waits for the controlling agent to select the final choice of candidate pairs.

◆ RTC_QUALITY_LIMITATION_REASON

Defines reasons for quality limitation for sending streams.

Reference: https://www.w3.org/TR/webrtc-stats/#rtcqualitylimitationreason-enum

Enumerator
RTC_QUALITY_LIMITATION_REASON_NONE 

Resolution as expected. Default value.

RTC_QUALITY_LIMITATION_REASON_BANDWIDTH 

Reason for limitation is congestion cues during bandwidth estimation.

RTC_QUALITY_LIMITATION_REASON_CPU 

The resolution and/or framerate is primarily limited due to CPU load.

RTC_QUALITY_LIMITATION_REASON_OTHER 

Limitation due to reasons other than above.

◆ RTC_STATS_TYPE

Type of Stats object requested by the application Reference https://www.w3.org/TR/webrtc-stats/#rtcstatstype-str*.

Enumerator
RTC_STATS_TYPE_CANDIDATE_PAIR 

ICE candidate pair statistics related to the RTCIceTransport objects.

RTC_STATS_TYPE_CERTIFICATE 

Information about a certificate used by an RTCIceTransport.

RTC_STATS_TYPE_CODEC 

Stats for a codec that is currently being used by RTP streams being sent or received by this RTCPeerConnection object.

RTC_STATS_TYPE_ICE_SERVER 

Information about the connection to an ICE server (e.g. STUN or TURN)

RTC_STATS_TYPE_CSRC 

Stats for a contributing source (CSRC) that contributed to an inbound RTP stream.

RTC_STATS_TYPE_DATA_CHANNEL 

Stats related to each RTCDataChannel id.

RTC_STATS_TYPE_INBOUND_RTP 

Statistics for an inbound RTP stream that is currently received with this RTCPeerConnection object.

RTC_STATS_TYPE_LOCAL_CANDIDATE 

ICE local candidate statistics related to the RTCIceTransport objects.

RTC_STATS_TYPE_OUTBOUND_RTP 

Statistics for an outbound RTP stream that is currently received with this RTCPeerConnection object.

RTC_STATS_TYPE_PEER_CONNECTION 

Statistics related to the RTCPeerConnection object.

RTC_STATS_TYPE_RECEIVER 

Statistics related to a specific receiver and the corresponding media-level metrics.

RTC_STATS_TYPE_REMOTE_CANDIDATE 

ICE remote candidate statistics related to the RTCIceTransport objects.

RTC_STATS_TYPE_REMOTE_INBOUND_RTP 

Statistics for the remote endpoint's inbound RTP stream corresponding to an outbound stream that is currently sent with this RTCPeerConnection object

RTC_STATS_TYPE_REMOTE_OUTBOUND_RTP 

Statistics for the remote endpoint's outbound RTP stream corresponding to an inbound stream that is currently sent with this RTCPeerConnection object

RTC_STATS_TYPE_SENDER 

Statistics related to a specific RTCRtpSender and the corresponding media-level metrics.

RTC_STATS_TYPE_TRACK 

Statistics related to a specific MediaStreamTrack's attachment to an RTCRtpSender.

RTC_STATS_TYPE_TRANSPORT 

Transport statistics related to the RTCPeerConnection object.

RTC_STATS_TYPE_SCTP_TRANSPORT 

SCTP transport statistics related to an RTCSctpTransport object.

RTC_STATS_TYPE_TRANSCEIVER 

Statistics related to a specific RTCRtpTransceiver.

RTC_STATS_TYPE_RTC_ALL 

Report all supported stats.