Amazon Kinesis Webrtc C SDK
PublicEnums

Public Enums. More...

Collaboration diagram for PublicEnums:

Typedefs

typedef enum SIGNALING_CLIENT_STATEPSIGNALING_CLIENT_STATE
 

Enumerations

enum  RTC_PEER_CONNECTION_STATE {
  RTC_PEER_CONNECTION_STATE_NONE = 0 , RTC_PEER_CONNECTION_STATE_NEW = 1 , RTC_PEER_CONNECTION_STATE_CONNECTING = 2 , RTC_PEER_CONNECTION_STATE_CONNECTED = 3 ,
  RTC_PEER_CONNECTION_STATE_DISCONNECTED = 4 , RTC_PEER_CONNECTION_STATE_FAILED = 5 , RTC_PEER_CONNECTION_STATE_CLOSED = 6 , RTC_PEER_CONNECTION_TOTAL_STATE_COUNT = 7
}
 RTC_PEER_CONNECTION_STATE Stats of RTC peer connection. More...
 
enum  SDP_TYPE { SDP_TYPE_OFFER = 1 , SDP_TYPE_ANSWER = 2 }
 
enum  MEDIA_STREAM_TRACK_KIND { MEDIA_STREAM_TRACK_KIND_AUDIO = 1 , MEDIA_STREAM_TRACK_KIND_VIDEO = 2 }
 The enum specifies the type of track in the stream. More...
 
enum  RTC_CODEC {
  RTC_CODEC_H264_PROFILE_42E01F_LEVEL_ASYMMETRY_ALLOWED_PACKETIZATION_MODE = 1 , RTC_CODEC_OPUS = 2 , RTC_CODEC_VP8 = 3 , RTC_CODEC_MULAW = 4 ,
  RTC_CODEC_ALAW = 5 , RTC_CODEC_UNKNOWN = 6 , RTC_CODEC_H265 = 7 , RTC_CODEC_AAC = 8 ,
  RTC_CODEC_MAX
}
 The enum specifies the codec types for audio and video tracks. More...
 
enum  ICE_TRANSPORT_POLICY { ICE_TRANSPORT_POLICY_RELAY = 1 , ICE_TRANSPORT_POLICY_ALL = 2 }
 ICE_TRANSPORT_POLICY restrict which ICE candidates are used in a session. More...
 
enum  RTC_RTP_TRANSCEIVER_DIRECTION { RTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV = 1 , RTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY = 2 , RTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY = 3 , RTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE = 4 }
 RTC_RTP_TRANSCEIVER_DIRECTION indicates direction of a transceiver. More...
 
enum  SIGNALING_CHANNEL_STATUS { SIGNALING_CHANNEL_STATUS_CREATING , SIGNALING_CHANNEL_STATUS_ACTIVE , SIGNALING_CHANNEL_STATUS_UPDATING , SIGNALING_CHANNEL_STATUS_DELETING }
 Defines channel status as reported by the service. More...
 
enum  SIGNALING_MESSAGE_TYPE {
  SIGNALING_MESSAGE_TYPE_OFFER , SIGNALING_MESSAGE_TYPE_ANSWER , SIGNALING_MESSAGE_TYPE_ICE_CANDIDATE , SIGNALING_MESSAGE_TYPE_GO_AWAY ,
  SIGNALING_MESSAGE_TYPE_RECONNECT_ICE_SERVER , SIGNALING_MESSAGE_TYPE_STATUS_RESPONSE , SIGNALING_MESSAGE_TYPE_UNKNOWN
}
 Defines different signaling messages. More...
 
enum  SIGNALING_CLIENT_STATE {
  SIGNALING_CLIENT_STATE_UNKNOWN , SIGNALING_CLIENT_STATE_NEW , SIGNALING_CLIENT_STATE_GET_CREDENTIALS , SIGNALING_CLIENT_STATE_DESCRIBE ,
  SIGNALING_CLIENT_STATE_CREATE , SIGNALING_CLIENT_STATE_GET_ENDPOINT , SIGNALING_CLIENT_STATE_GET_ICE_CONFIG , SIGNALING_CLIENT_STATE_READY ,
  SIGNALING_CLIENT_STATE_CONNECTING , SIGNALING_CLIENT_STATE_CONNECTED , SIGNALING_CLIENT_STATE_DISCONNECTED , SIGNALING_CLIENT_STATE_DELETE ,
  SIGNALING_CLIENT_STATE_DELETED , SIGNALING_CLIENT_STATE_DESCRIBE_MEDIA , SIGNALING_CLIENT_STATE_JOIN_SESSION , SIGNALING_CLIENT_STATE_JOIN_SESSION_WAITING ,
  SIGNALING_CLIENT_STATE_JOIN_SESSION_CONNECTED , SIGNALING_CLIENT_STATE_MAX_VALUE
}
 Defines different states a signaling client traverses. More...
 
enum  SIGNALING_CHANNEL_TYPE { SIGNALING_CHANNEL_TYPE_UNKNOWN , SIGNALING_CHANNEL_TYPE_SINGLE_MASTER }
 Channel type as reported by the service. More...
 
enum  SIGNALING_CHANNEL_ROLE_TYPE { SIGNALING_CHANNEL_ROLE_TYPE_UNKNOWN , SIGNALING_CHANNEL_ROLE_TYPE_MASTER , SIGNALING_CHANNEL_ROLE_TYPE_VIEWER }
 Channel role type. More...
 
enum  NAT_BEHAVIOR {
  NAT_BEHAVIOR_NONE , NAT_BEHAVIOR_NOT_BEHIND_ANY_NAT , NAT_BEHAVIOR_NO_UDP_CONNECTIVITY , NAT_BEHAVIOR_ENDPOINT_INDEPENDENT ,
  NAT_BEHAVIOR_ADDRESS_DEPENDENT , NAT_BEHAVIOR_PORT_DEPENDENT
}
 Detected network environment. More...
 
enum  SIGNALING_API_CALL_CACHE_TYPE { SIGNALING_API_CALL_CACHE_TYPE_NONE , SIGNALING_API_CALL_CACHE_TYPE_DESCRIBE_GETENDPOINT , SIGNALING_API_CALL_CACHE_TYPE_FILE }
 Type of caching implementation to use with the signaling client. More...
 

Detailed Description

Public Enums.

Typedef Documentation

◆ PSIGNALING_CLIENT_STATE

Enumeration Type Documentation

◆ ICE_TRANSPORT_POLICY

ICE_TRANSPORT_POLICY restrict which ICE candidates are used in a session.

Reference: https://www.w3.org/TR/webrtc/#dom-rtcicetransportpolicy

Enumerator
ICE_TRANSPORT_POLICY_RELAY 

The ICE Agent uses only media relay candidates such as candidates passing through a TURN server

ICE_TRANSPORT_POLICY_ALL 

The ICE Agent can use any type of candidate when this value is specified.

◆ MEDIA_STREAM_TRACK_KIND

The enum specifies the type of track in the stream.

Enumerator
MEDIA_STREAM_TRACK_KIND_AUDIO 

Audio track. Track information is set before add transceiver.

MEDIA_STREAM_TRACK_KIND_VIDEO 

Video track. Track information is set before add transceiver.

◆ NAT_BEHAVIOR

Detected network environment.

Enumerator
NAT_BEHAVIOR_NONE 

Dummy placeholder.

NAT_BEHAVIOR_NOT_BEHIND_ANY_NAT 

Host is not behind any NAT.

NAT_BEHAVIOR_NO_UDP_CONNECTIVITY 

No UDP connectvity.

NAT_BEHAVIOR_ENDPOINT_INDEPENDENT 

Nat behavior is irregardless of change in external address.

NAT_BEHAVIOR_ADDRESS_DEPENDENT 

Nat behavior changes changes when external address is changed, but remain same if only port is changed.

NAT_BEHAVIOR_PORT_DEPENDENT 

Nat behavior changes when external address or port is changed.

◆ RTC_CODEC

enum RTC_CODEC

The enum specifies the codec types for audio and video tracks.

Enumerator
RTC_CODEC_H264_PROFILE_42E01F_LEVEL_ASYMMETRY_ALLOWED_PACKETIZATION_MODE 

H264 video codec.

RTC_CODEC_OPUS 

OPUS audio codec.

RTC_CODEC_VP8 

VP8 video codec.

RTC_CODEC_MULAW 

MULAW audio codec.

RTC_CODEC_ALAW 

ALAW audio codec.

RTC_CODEC_UNKNOWN 
RTC_CODEC_H265 

H265 video codec.

RTC_CODEC_AAC 

AAC audio codec.

RTC_CODEC_MAX 

Placeholder for max number of supported codecs.

◆ RTC_PEER_CONNECTION_STATE

RTC_PEER_CONNECTION_STATE Stats of RTC peer connection.

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

Enumerator
RTC_PEER_CONNECTION_STATE_NONE 

Starting state of peer connection.

RTC_PEER_CONNECTION_STATE_NEW 

This state is set when ICE Agent is waiting for remote credential.

RTC_PEER_CONNECTION_STATE_CONNECTING 

This state is set when ICE agent checks connection.

RTC_PEER_CONNECTION_STATE_CONNECTED 

This state is set when CIE Agent is ready.

RTC_PEER_CONNECTION_STATE_DISCONNECTED 

This state is set when ICE Agent is disconnected.

RTC_PEER_CONNECTION_STATE_FAILED 

This state is set when ICE Agent transitions to fail state.

RTC_PEER_CONNECTION_STATE_CLOSED 

This state leads to termination of streaming session.

RTC_PEER_CONNECTION_TOTAL_STATE_COUNT 

This state indicates maximum number of Peer connection states.

◆ RTC_RTP_TRANSCEIVER_DIRECTION

RTC_RTP_TRANSCEIVER_DIRECTION indicates direction of a transceiver.

Reference: https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverdirection

Enumerator
RTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV 

This indicates that peer can send and receive data.

RTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY 

This indicates that the peer can only send information.

RTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY 

This indicates that the peer can only receive information.

RTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE 

This indicates that the peer can not send or receive data.

◆ SDP_TYPE

enum SDP_TYPE

The enum specifies the type of SDP being exchanged

Enumerator
SDP_TYPE_OFFER 

SessionDescription is type offer.

SDP_TYPE_ANSWER 

SessionDescription is type answer.

◆ SIGNALING_API_CALL_CACHE_TYPE

Type of caching implementation to use with the signaling client.

Enumerator
SIGNALING_API_CALL_CACHE_TYPE_NONE 

No caching. The calls to the backend will be made for every API.

SIGNALING_API_CALL_CACHE_TYPE_DESCRIBE_GETENDPOINT 

Cache DeleteSignalingChannel and GetSignalingChannelEndpoint backend API calls. In this mode, the actual backend APIs will be called once and the information will be cached. This mode is the recommended mode for most of the use cases when the signaling channel is not being constantly created/deleted by other entities.

SIGNALING_API_CALL_CACHE_TYPE_FILE 

Cache DeleteSignalingChannel and GetSignalingChannelEndpoint backend API calls. In this mode, the actual backend APIs will be called once and the information will be cached into file which will allow the cache to persist next time the signaling client is created.

◆ SIGNALING_CHANNEL_ROLE_TYPE

Channel role type.

Enumerator
SIGNALING_CHANNEL_ROLE_TYPE_UNKNOWN 

Channel role is unknown.

SIGNALING_CHANNEL_ROLE_TYPE_MASTER 

Channel role is master.

SIGNALING_CHANNEL_ROLE_TYPE_VIEWER 

Channel role is viewer.

◆ SIGNALING_CHANNEL_STATUS

Defines channel status as reported by the service.

Enumerator
SIGNALING_CHANNEL_STATUS_CREATING 

Signaling channel is being created.

SIGNALING_CHANNEL_STATUS_ACTIVE 

Signaling channel is active.

SIGNALING_CHANNEL_STATUS_UPDATING 

Signaling channel is being updated.

SIGNALING_CHANNEL_STATUS_DELETING 

Signaling channel is being deleted.

◆ SIGNALING_CHANNEL_TYPE

Channel type as reported by the service.

Enumerator
SIGNALING_CHANNEL_TYPE_UNKNOWN 

Channel type is unknown.

SIGNALING_CHANNEL_TYPE_SINGLE_MASTER 

Channel type is master.

◆ SIGNALING_CLIENT_STATE

Defines different states a signaling client traverses.

Enumerator
SIGNALING_CLIENT_STATE_UNKNOWN 

Starting state of signaling client.

SIGNALING_CLIENT_STATE_NEW 

This state indicates a new client state.

SIGNALING_CLIENT_STATE_GET_CREDENTIALS 

This state involves getting a token using AWS credentials.

SIGNALING_CLIENT_STATE_DESCRIBE 

This state is set to get the most current information about the channel Channel name or ARN needs to be provided t get the information

SIGNALING_CLIENT_STATE_CREATE 

This state is set to create the channel with the information supplied in the describe state

SIGNALING_CLIENT_STATE_GET_ENDPOINT 

This state is set to provide an endpoint for sending/receiving messages.

SIGNALING_CLIENT_STATE_GET_ICE_CONFIG 

This state gets ICE related details such as server list, username, and passwords

SIGNALING_CLIENT_STATE_READY 

On setting this state, if continueOnReady flag is set, a transition is to the next state is made

SIGNALING_CLIENT_STATE_CONNECTING 

In this state, if already connected, nothing needs to be done. This can happen when we get to this state after ICE refresh

SIGNALING_CLIENT_STATE_CONNECTED 

On transitioning to this state, the timeout on the state machine is reset.

SIGNALING_CLIENT_STATE_DISCONNECTED 

This state transition happens either from connect or connected state.

SIGNALING_CLIENT_STATE_DELETE 

This state transition happens when the application calls signalingClientDeleteSync API.

SIGNALING_CLIENT_STATE_DELETED 

This state transition happens after the channel gets deleted as a result of a signalingClientDeleteSync API. This is a terminal state.

SIGNALING_CLIENT_STATE_DESCRIBE_MEDIA 
SIGNALING_CLIENT_STATE_JOIN_SESSION 
SIGNALING_CLIENT_STATE_JOIN_SESSION_WAITING 
SIGNALING_CLIENT_STATE_JOIN_SESSION_CONNECTED 
SIGNALING_CLIENT_STATE_MAX_VALUE 

This state indicates maximum number of signaling client states.

◆ SIGNALING_MESSAGE_TYPE

Defines different signaling messages.

Enumerator
SIGNALING_MESSAGE_TYPE_OFFER 

This message type leads to checks in existence of peer id and payload in the message.

SIGNALING_MESSAGE_TYPE_ANSWER 

This message type leads to checks in length/existence of payload in the message.

SIGNALING_MESSAGE_TYPE_ICE_CANDIDATE 

This message type leads to checks in length/existence of payload in the message.

SIGNALING_MESSAGE_TYPE_GO_AWAY 

This message moves signaling back to describe state.

SIGNALING_MESSAGE_TYPE_RECONNECT_ICE_SERVER 

This message moves signaling state back to get ICE config.

SIGNALING_MESSAGE_TYPE_STATUS_RESPONSE 

This message notifies the awaiting send after checking for failure in message delivery.

SIGNALING_MESSAGE_TYPE_UNKNOWN 

This message type is set when the type of message received is unknown.