Amazon Kinesis Webrtc C SDK
Loading...
Searching...
No Matches
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 KVS_RTP_TRANSCEIVER_PACK_PAYLOAD_TYPES(payloadType, rtxPayloadType)
#define KVS_RTP_TRANSCEIVER_UNPACK_PAYLOAD_TYPE(packed)
#define KVS_RTP_TRANSCEIVER_UNPACK_RTX_PAYLOAD_TYPE(packed)
#define CONVERT_TIMESTAMP_TO_RTP(clockRate, pts)

Typedefs

typedef struct RtcRtpSender * PRtcRtpSender
typedef struct RollingBufferConfig * PRollingBufferConfig
typedef struct KvsRtpTransceiver * PKvsRtpTransceiver

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 )
Value:
((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

◆ KVS_RTP_TRANSCEIVER_PACK_PAYLOAD_TYPES

#define KVS_RTP_TRANSCEIVER_PACK_PAYLOAD_TYPES ( payloadType,
rtxPayloadType )
Value:
((SIZE_T) ((((UINT32) (payloadType)) << 8) | (UINT32) (rtxPayloadType)))

◆ KVS_RTP_TRANSCEIVER_UNPACK_PAYLOAD_TYPE

#define KVS_RTP_TRANSCEIVER_UNPACK_PAYLOAD_TYPE ( packed)
Value:
((UINT8) ((packed) >> 8))

◆ KVS_RTP_TRANSCEIVER_UNPACK_RTX_PAYLOAD_TYPE

#define KVS_RTP_TRANSCEIVER_UNPACK_RTX_PAYLOAD_TYPE ( packed)
Value:
((UINT8) ((packed) & 0xFF))

◆ 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: