Amazon Kinesis Webrtc C SDK
JitterBuffer.c File Reference
#include "../Include_i.h"
Include dependency graph for JitterBuffer.c:

Macros

#define LOG_CLASS   "JitterBuffer"
 
#define MAX_OUT_OF_ORDER_PACKET_DIFFERENCE   512
 

Functions

STATUS jitterBufferInternalParse (PJitterBuffer pJitterBuffer, BOOL bufferClosed)
 
STATUS createJitterBuffer (FrameReadyFunc onFrameReadyFunc, FrameDroppedFunc onFrameDroppedFunc, DepayRtpPayloadFunc depayRtpPayloadFunc, UINT32 maxLatency, UINT32 clockRate, UINT64 customData, PJitterBuffer *ppJitterBuffer)
 
STATUS freeJitterBuffer (PJitterBuffer *ppJitterBuffer)
 
BOOL underflowPossible (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket)
 
BOOL headCheckingAllowed (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket)
 
BOOL headSequenceNumberCheck (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket)
 
BOOL tailSequenceNumberCheck (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket)
 
BOOL enterSequenceNumberOverflowCheck (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket)
 
BOOL enterTimestampOverflowCheck (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket)
 
BOOL exitSequenceNumberOverflowCheck (PJitterBuffer pJitterBuffer)
 
BOOL exitTimestampOverflowCheck (PJitterBuffer pJitterBuffer)
 
BOOL headTimestampCheck (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket)
 
BOOL tailTimestampCheck (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket)
 
BOOL withinLatencyTolerance (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket)
 
STATUS jitterBufferPush (PJitterBuffer pJitterBuffer, PRtpPacket pRtpPacket, PBOOL pPacketDiscarded)
 
STATUS jitterBufferDropBufferData (PJitterBuffer pJitterBuffer, UINT16 startIndex, UINT16 endIndex, UINT32 nextTimestamp)
 
STATUS jitterBufferFillFrameData (PJitterBuffer pJitterBuffer, PBYTE pFrame, UINT32 frameSize, PUINT32 pFilledSize, UINT16 startIndex, UINT16 endIndex)
 

Macro Definition Documentation

◆ LOG_CLASS

#define LOG_CLASS   "JitterBuffer"

◆ MAX_OUT_OF_ORDER_PACKET_DIFFERENCE

#define MAX_OUT_OF_ORDER_PACKET_DIFFERENCE   512

Function Documentation

◆ createJitterBuffer()

STATUS createJitterBuffer ( FrameReadyFunc  onFrameReadyFunc,
FrameDroppedFunc  onFrameDroppedFunc,
DepayRtpPayloadFunc  depayRtpPayloadFunc,
UINT32  maxLatency,
UINT32  clockRate,
UINT64  customData,
PJitterBuffer ppJitterBuffer 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ enterSequenceNumberOverflowCheck()

BOOL enterSequenceNumberOverflowCheck ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ enterTimestampOverflowCheck()

BOOL enterTimestampOverflowCheck ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ exitSequenceNumberOverflowCheck()

BOOL exitSequenceNumberOverflowCheck ( PJitterBuffer  pJitterBuffer)
Here is the caller graph for this function:

◆ exitTimestampOverflowCheck()

BOOL exitTimestampOverflowCheck ( PJitterBuffer  pJitterBuffer)
Here is the caller graph for this function:

◆ freeJitterBuffer()

STATUS freeJitterBuffer ( PJitterBuffer ppJitterBuffer)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ headCheckingAllowed()

BOOL headCheckingAllowed ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket 
)
Here is the caller graph for this function:

◆ headSequenceNumberCheck()

BOOL headSequenceNumberCheck ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ headTimestampCheck()

BOOL headTimestampCheck ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ jitterBufferDropBufferData()

STATUS jitterBufferDropBufferData ( PJitterBuffer  pJitterBuffer,
UINT16  startIndex,
UINT16  endIndex,
UINT32  nextTimestamp 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ jitterBufferFillFrameData()

STATUS jitterBufferFillFrameData ( PJitterBuffer  pJitterBuffer,
PBYTE  pFrame,
UINT32  frameSize,
PUINT32  pFilledSize,
UINT16  startIndex,
UINT16  endIndex 
)
Here is the caller graph for this function:

◆ jitterBufferInternalParse()

STATUS jitterBufferInternalParse ( PJitterBuffer  pJitterBuffer,
BOOL  bufferClosed 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ jitterBufferPush()

STATUS jitterBufferPush ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket,
PBOOL  pPacketDiscarded 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tailSequenceNumberCheck()

BOOL tailSequenceNumberCheck ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket 
)
Here is the caller graph for this function:

◆ tailTimestampCheck()

BOOL tailTimestampCheck ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ underflowPossible()

BOOL underflowPossible ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket 
)
Here is the caller graph for this function:

◆ withinLatencyTolerance()

BOOL withinLatencyTolerance ( PJitterBuffer  pJitterBuffer,
PRtpPacket  pRtpPacket 
)
Here is the call graph for this function:
Here is the caller graph for this function: