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

Go to the source code of this file.

Classes

struct  RtcRtpSender
 
struct  RollingBufferConfig
 
struct  KvsRtpTransceiver
 

Macros

#define DEFAULT_MTU_SIZE_BYTES   1200
 
#define DEFAULT_ROLLING_BUFFER_DURATION_IN_SECONDS   (DOUBLE) 3
 
#define DEFAULT_EXPECTED_VIDEO_BIT_RATE   (DOUBLE)(10 * 1024 * 1024)
 
#define DEFAULT_EXPECTED_AUDIO_BIT_RATE   (DOUBLE)(10 * 1024 * 1024)
 
#define DEFAULT_SEQ_NUM_BUFFER_SIZE   1000
 
#define DEFAULT_VALID_INDEX_BUFFER_SIZE   1000
 
#define DEFAULT_PEER_FRAME_BUFFER_SIZE   (5 * 1024)
 
#define SRTP_AUTH_TAG_OVERHEAD   10
 
#define MIN_ROLLING_BUFFER_DURATION_IN_SECONDS   (DOUBLE) 0.1
 
#define MIN_EXPECTED_BIT_RATE   (DOUBLE)(102.4 * 1024)
 
#define MAX_ROLLING_BUFFER_DURATION_IN_SECONDS   (DOUBLE) 10
 
#define MAX_EXPECTED_BIT_RATE   (DOUBLE)(240 * 1024 * 1024)
 
#define HUGE_FRAME_MULTIPLIER   2.5
 
#define CONVERT_TIMESTAMP_TO_RTP(clockRate, pts)   ((UINT64) ((DOUBLE) (pts) * ((DOUBLE) (clockRate) / HUNDREDS_OF_NANOS_IN_A_SECOND)))
 

Typedefs

typedef struct RtcRtpSenderPRtcRtpSender
 
typedef struct RollingBufferConfigPRollingBufferConfig
 
typedef struct KvsRtpTransceiverPKvsRtpTransceiver
 

Functions

STATUS createKvsRtpTransceiver (RTC_RTP_TRANSCEIVER_DIRECTION, PKvsPeerConnection, UINT32, UINT32, PRtcMediaStreamTrack, PJitterBuffer, RTC_CODEC, PKvsRtpTransceiver *)
 
STATUS freeKvsRtpTransceiver (PKvsRtpTransceiver *)
 
STATUS kvsRtpTransceiverSetJitterBuffer (PKvsRtpTransceiver, PJitterBuffer)
 
STATUS writeRtpPacket (PKvsPeerConnection pKvsPeerConnection, PRtpPacket pRtpPacket)
 
STATUS hasTransceiverWithSsrc (PKvsPeerConnection pKvsPeerConnection, UINT32 ssrc)
 
STATUS findTransceiverBySsrc (PKvsPeerConnection pKvsPeerConnection, PKvsRtpTransceiver *ppTransceiver, UINT32 ssrc)
 
STATUS setUpRollingBufferConfigInternal (PKvsRtpTransceiver, PRtcMediaStreamTrack, DOUBLE, DOUBLE)
 
STATUS freeRollingBufferConfig (PRollingBufferConfig)
 

Macro Definition Documentation

◆ CONVERT_TIMESTAMP_TO_RTP

#define CONVERT_TIMESTAMP_TO_RTP (   clockRate,
  pts 
)    ((UINT64) ((DOUBLE) (pts) * ((DOUBLE) (clockRate) / HUNDREDS_OF_NANOS_IN_A_SECOND)))

◆ DEFAULT_EXPECTED_AUDIO_BIT_RATE

#define DEFAULT_EXPECTED_AUDIO_BIT_RATE   (DOUBLE)(10 * 1024 * 1024)

◆ DEFAULT_EXPECTED_VIDEO_BIT_RATE

#define DEFAULT_EXPECTED_VIDEO_BIT_RATE   (DOUBLE)(10 * 1024 * 1024)

◆ DEFAULT_MTU_SIZE_BYTES

#define DEFAULT_MTU_SIZE_BYTES   1200

◆ DEFAULT_PEER_FRAME_BUFFER_SIZE

#define DEFAULT_PEER_FRAME_BUFFER_SIZE   (5 * 1024)

◆ DEFAULT_ROLLING_BUFFER_DURATION_IN_SECONDS

#define DEFAULT_ROLLING_BUFFER_DURATION_IN_SECONDS   (DOUBLE) 3

◆ DEFAULT_SEQ_NUM_BUFFER_SIZE

#define DEFAULT_SEQ_NUM_BUFFER_SIZE   1000

◆ DEFAULT_VALID_INDEX_BUFFER_SIZE

#define DEFAULT_VALID_INDEX_BUFFER_SIZE   1000

◆ HUGE_FRAME_MULTIPLIER

#define HUGE_FRAME_MULTIPLIER   2.5

◆ MAX_EXPECTED_BIT_RATE

#define MAX_EXPECTED_BIT_RATE   (DOUBLE)(240 * 1024 * 1024)

◆ MAX_ROLLING_BUFFER_DURATION_IN_SECONDS

#define MAX_ROLLING_BUFFER_DURATION_IN_SECONDS   (DOUBLE) 10

◆ MIN_EXPECTED_BIT_RATE

#define MIN_EXPECTED_BIT_RATE   (DOUBLE)(102.4 * 1024)

◆ MIN_ROLLING_BUFFER_DURATION_IN_SECONDS

#define MIN_ROLLING_BUFFER_DURATION_IN_SECONDS   (DOUBLE) 0.1

◆ SRTP_AUTH_TAG_OVERHEAD

#define SRTP_AUTH_TAG_OVERHEAD   10

Typedef Documentation

◆ PKvsRtpTransceiver

◆ PRollingBufferConfig

◆ PRtcRtpSender

typedef struct RtcRtpSender * PRtcRtpSender

Function Documentation

◆ createKvsRtpTransceiver()

STATUS createKvsRtpTransceiver ( RTC_RTP_TRANSCEIVER_DIRECTION  direction,
PKvsPeerConnection  pKvsPeerConnection,
UINT32  ssrc,
UINT32  rtxSsrc,
PRtcMediaStreamTrack  pRtcMediaStreamTrack,
PJitterBuffer  pJitterBuffer,
RTC_CODEC  rtcCodec,
PKvsRtpTransceiver ppKvsRtpTransceiver 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ findTransceiverBySsrc()

STATUS findTransceiverBySsrc ( PKvsPeerConnection  pKvsPeerConnection,
PKvsRtpTransceiver ppTransceiver,
UINT32  ssrc 
)
Here is the caller graph for this function:

◆ freeKvsRtpTransceiver()

STATUS freeKvsRtpTransceiver ( PKvsRtpTransceiver ppKvsRtpTransceiver)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeRollingBufferConfig()

STATUS freeRollingBufferConfig ( PRollingBufferConfig  pRollingBufferConfig)
Here is the caller graph for this function:

◆ hasTransceiverWithSsrc()

STATUS hasTransceiverWithSsrc ( PKvsPeerConnection  pKvsPeerConnection,
UINT32  ssrc 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kvsRtpTransceiverSetJitterBuffer()

STATUS kvsRtpTransceiverSetJitterBuffer ( PKvsRtpTransceiver  pKvsRtpTransceiver,
PJitterBuffer  pJitterBuffer 
)
Here is the caller graph for this function:

◆ setUpRollingBufferConfigInternal()

STATUS setUpRollingBufferConfigInternal ( PKvsRtpTransceiver  pKvsRtpTransceiver,
PRtcMediaStreamTrack  pRtcMediaStreamTrack,
DOUBLE  rollingBufferDurationSec,
DOUBLE  rollingBufferBitratebps 
)
Here is the caller graph for this function:

◆ writeRtpPacket()

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