Amazon Kinesis Webrtc C SDK
Loading...
Searching...
No Matches
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 TwccRtpPacketInfo * PTwccRtpPacketInfo
typedef struct TwccManager * PTwccManager
typedef struct KvsPeerConnectionDiagnostics * PKvsPeerConnectionDiagnostics
typedef struct KvsPeerConnection * PKvsPeerConnection
typedef struct AllocateSctpSortDataChannelsData * PAllocateSctpSortDataChannelsData
typedef struct StunIpAddrContext * PStunIpAddrContext
typedef struct WebRtcClientContext * PWebRtcClientContext

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)
STATUS onSctpSessionDataChannelOpen (UINT64, UINT32, PBYTE, UINT32, PRtcDataChannelInit)
VOID onSctpSessionDataChannelAck (UINT64, 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
VOID onIceConnectionStateChange (UINT64, UINT64)
PWebRtcClientContext getWebRtcClientInstance ()
VOID releaseHoldOnInstance (PWebRtcClientContext)
STATUS createWebRtcClientInstance ()
STATUS cleanupWebRtcClientInstance ()
STATUS onSetStunServerIp (UINT64, PCHAR, PDualKvsIpAddresses)

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:

◆ cleanupWebRtcClientInstance()

STATUS cleanupWebRtcClientInstance ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createWebRtcClientInstance()

STATUS createWebRtcClientInstance ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getWebRtcClientInstance()

PWebRtcClientContext getWebRtcClientInstance ( )
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:

◆ onSctpSessionDataChannelAck()

VOID onSctpSessionDataChannelAck ( UINT64 customData,
UINT32 channelId )

◆ onSctpSessionDataChannelMessage()

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

◆ onSctpSessionDataChannelOpen()

STATUS onSctpSessionDataChannelOpen ( UINT64 customData,
UINT32 channelId,
PBYTE pName,
UINT32 nameLen,
PRtcDataChannelInit pRtcDataChannelInit )

◆ onSctpSessionOutboundPacket()

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

◆ onSetStunServerIp()

STATUS onSetStunServerIp ( UINT64 customData,
PCHAR url,
PDualKvsIpAddresses pIpAddresses )
Here is the call graph for this function:
Here is the caller 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:

◆ releaseHoldOnInstance()

VOID releaseHoldOnInstance ( PWebRtcClientContext pWebRtcClientContext)
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: