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

Go to the source code of this file.

Classes

struct  TwccRtpPacketInfo
 
struct  TwccManager
 
struct  KvsPeerConnectionDiagnostics
 
struct  KvsPeerConnection
 
struct  AllocateSctpSortDataChannelsData
 
struct  StunIpAddrContext
 
struct  WebRtcClientContext
 

Macros

#define LOCAL_ICE_UFRAG_LEN   4
 
#define LOCAL_ICE_PWD_LEN   24
 
#define LOCAL_CNAME_LEN   16
 
#define MAX_ICE_UFRAG_LEN   256
 
#define MAX_ICE_PWD_LEN   256
 
#define PEER_FRAME_BUFFER_SIZE_INCREMENT_FACTOR   1.5
 
#define VALID_CHAR_SET_FOR_JSON   "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"
 
#define ICE_CANDIDATE_JSON_TEMPLATE   (PCHAR) "{\"candidate\":\"candidate:%s\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0}"
 
#define MAX_ICE_CANDIDATE_JSON_LEN   (MAX_SDP_ATTRIBUTE_VALUE_LENGTH + SIZEOF(ICE_CANDIDATE_JSON_TEMPLATE) + 1)
 
#define CODEC_HASH_TABLE_BUCKET_COUNT   50
 
#define CODEC_HASH_TABLE_BUCKET_LENGTH   2
 
#define RTX_HASH_TABLE_BUCKET_COUNT   50
 
#define RTX_HASH_TABLE_BUCKET_LENGTH   2
 
#define TWCC_HASH_TABLE_BUCKET_COUNT   100
 
#define TWCC_HASH_TABLE_BUCKET_LENGTH   2
 
#define DATA_CHANNEL_HASH_TABLE_BUCKET_COUNT   200
 
#define DATA_CHANNEL_HASH_TABLE_BUCKET_LENGTH   2
 
#define DEBUG_LOG_SDP   ((PCHAR) "DEBUG_LOG_SDP")
 
#define MAX_ACCESS_THREADS_WEBRTC_CLIENT_CONTEXT   50
 

Typedefs

typedef struct TwccRtpPacketInfoPTwccRtpPacketInfo
 
typedef struct TwccManagerPTwccManager
 
typedef struct KvsPeerConnectionDiagnosticsPKvsPeerConnectionDiagnostics
 
typedef struct KvsPeerConnectionPKvsPeerConnection
 
typedef struct AllocateSctpSortDataChannelsDataPAllocateSctpSortDataChannelsData
 
typedef struct StunIpAddrContextPStunIpAddrContext
 
typedef struct WebRtcClientContextPWebRtcClientContext
 

Enumerations

enum  RTX_CODEC { RTC_RTX_CODEC_H264_PROFILE_42E01F_LEVEL_ASYMMETRY_ALLOWED_PACKETIZATION_MODE = 1 , RTC_RTX_CODEC_VP8 = 2 , RTC_RTX_CODEC_H265 = 3 }
 

Functions

STATUS onFrameReadyFunc (UINT64, UINT16, UINT16, UINT32)
 
STATUS onFrameDroppedFunc (UINT64, UINT16, UINT16, UINT32)
 
VOID onSctpSessionOutboundPacket (UINT64, PBYTE, UINT32)
 
VOID onSctpSessionDataChannelMessage (UINT64, UINT32, BOOL, PBYTE, UINT32)
 
VOID onSctpSessionDataChannelOpen (UINT64, UINT32, PBYTE, UINT32)
 
STATUS sendPacketToRtpReceiver (PKvsPeerConnection, PBYTE, UINT32)
 
STATUS changePeerConnectionState (PKvsPeerConnection, RTC_PEER_CONNECTION_STATE)
 
STATUS twccManagerOnPacketSent (PKvsPeerConnection, PRtpPacket)
 
UINT32 parseExtId (PCHAR)
 parses string of form "$number $whatever" returns $number as uint32 More...
 
VOID onIceConnectionStateChange (UINT64, UINT64)
 

Macro Definition Documentation

◆ CODEC_HASH_TABLE_BUCKET_COUNT

#define CODEC_HASH_TABLE_BUCKET_COUNT   50

◆ CODEC_HASH_TABLE_BUCKET_LENGTH

#define CODEC_HASH_TABLE_BUCKET_LENGTH   2

◆ DATA_CHANNEL_HASH_TABLE_BUCKET_COUNT

#define DATA_CHANNEL_HASH_TABLE_BUCKET_COUNT   200

◆ DATA_CHANNEL_HASH_TABLE_BUCKET_LENGTH

#define DATA_CHANNEL_HASH_TABLE_BUCKET_LENGTH   2

◆ DEBUG_LOG_SDP

#define DEBUG_LOG_SDP   ((PCHAR) "DEBUG_LOG_SDP")

◆ ICE_CANDIDATE_JSON_TEMPLATE

#define ICE_CANDIDATE_JSON_TEMPLATE   (PCHAR) "{\"candidate\":\"candidate:%s\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0}"

◆ LOCAL_CNAME_LEN

#define LOCAL_CNAME_LEN   16

◆ LOCAL_ICE_PWD_LEN

#define LOCAL_ICE_PWD_LEN   24

◆ LOCAL_ICE_UFRAG_LEN

#define LOCAL_ICE_UFRAG_LEN   4

◆ MAX_ACCESS_THREADS_WEBRTC_CLIENT_CONTEXT

#define MAX_ACCESS_THREADS_WEBRTC_CLIENT_CONTEXT   50

◆ MAX_ICE_CANDIDATE_JSON_LEN

#define MAX_ICE_CANDIDATE_JSON_LEN   (MAX_SDP_ATTRIBUTE_VALUE_LENGTH + SIZEOF(ICE_CANDIDATE_JSON_TEMPLATE) + 1)

◆ MAX_ICE_PWD_LEN

#define MAX_ICE_PWD_LEN   256

◆ MAX_ICE_UFRAG_LEN

#define MAX_ICE_UFRAG_LEN   256

◆ PEER_FRAME_BUFFER_SIZE_INCREMENT_FACTOR

#define PEER_FRAME_BUFFER_SIZE_INCREMENT_FACTOR   1.5

◆ RTX_HASH_TABLE_BUCKET_COUNT

#define RTX_HASH_TABLE_BUCKET_COUNT   50

◆ RTX_HASH_TABLE_BUCKET_LENGTH

#define RTX_HASH_TABLE_BUCKET_LENGTH   2

◆ TWCC_HASH_TABLE_BUCKET_COUNT

#define TWCC_HASH_TABLE_BUCKET_COUNT   100

◆ TWCC_HASH_TABLE_BUCKET_LENGTH

#define TWCC_HASH_TABLE_BUCKET_LENGTH   2

◆ VALID_CHAR_SET_FOR_JSON

#define VALID_CHAR_SET_FOR_JSON   "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"

Typedef Documentation

◆ PAllocateSctpSortDataChannelsData

◆ PKvsPeerConnection

◆ PKvsPeerConnectionDiagnostics

◆ PStunIpAddrContext

◆ PTwccManager

typedef struct TwccManager * PTwccManager

◆ PTwccRtpPacketInfo

◆ PWebRtcClientContext

Enumeration Type Documentation

◆ RTX_CODEC

enum RTX_CODEC
Enumerator
RTC_RTX_CODEC_H264_PROFILE_42E01F_LEVEL_ASYMMETRY_ALLOWED_PACKETIZATION_MODE 
RTC_RTX_CODEC_VP8 
RTC_RTX_CODEC_H265 

Function Documentation

◆ changePeerConnectionState()

STATUS changePeerConnectionState ( PKvsPeerConnection  pKvsPeerConnection,
RTC_PEER_CONNECTION_STATE  newState 
)
Here is the caller graph for this function:

◆ onFrameDroppedFunc()

STATUS onFrameDroppedFunc ( UINT64  customData,
UINT16  startIndex,
UINT16  endIndex,
UINT32  timestamp 
)
Here is the caller graph for this function:

◆ onFrameReadyFunc()

STATUS onFrameReadyFunc ( UINT64  customData,
UINT16  startIndex,
UINT16  endIndex,
UINT32  frameSize 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ onIceConnectionStateChange()

VOID onIceConnectionStateChange ( UINT64  customData,
UINT64  connectionState 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ onSctpSessionDataChannelMessage()

VOID onSctpSessionDataChannelMessage ( UINT64  customData,
UINT32  channelId,
BOOL  isBinary,
PBYTE  pMessage,
UINT32  pMessageLen 
)

◆ onSctpSessionDataChannelOpen()

VOID onSctpSessionDataChannelOpen ( UINT64  customData,
UINT32  channelId,
PBYTE  pName,
UINT32  nameLen 
)

◆ onSctpSessionOutboundPacket()

VOID onSctpSessionOutboundPacket ( UINT64  customData,
PBYTE  pPacket,
UINT32  packetLen 
)
Here is the call graph for this function:

◆ parseExtId()

UINT32 parseExtId ( PCHAR  extmapValue)

parses string of form "$number $whatever" returns $number as uint32

Returns
0 if value is not parsable or null
Here is the caller graph for this function:

◆ sendPacketToRtpReceiver()

STATUS sendPacketToRtpReceiver ( PKvsPeerConnection  pKvsPeerConnection,
PBYTE  pBuffer,
UINT32  bufferLen 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ twccManagerOnPacketSent()

STATUS twccManagerOnPacketSent ( PKvsPeerConnection  pKvsPeerConnection,
PRtpPacket  pRtpPacket 
)
Here is the caller graph for this function: