#include <jitter.h>
RTP_JitterBuffer::RTP_JitterBuffer | ( | RTP_Session & | session, | |
unsigned | minJitterDelay, | |||
unsigned | maxJitterDelay, | |||
unsigned | timeUnits = 8 , |
|||
PINDEX | stackSize = 30000 | |||
) |
session | Associated RTP session tor ead data from |
minJitterDelay | Minimum delay in RTP timestamp units |
maxJitterDelay | Maximum delay in RTP timestamp units |
timeUnits | Time units, usually 8 or 16 |
stackSize | Stack size for jitter thread |
RTP_JitterBuffer::~RTP_JitterBuffer | ( | ) |
DWORD RTP_JitterBuffer::GetBufferOverruns | ( | ) | const [inline] |
Get total number received packets that overran the jitter buffer.
DWORD RTP_JitterBuffer::GetJitterTime | ( | ) | const [inline] |
Get current delay for jitter buffer.
DWORD RTP_JitterBuffer::GetMaxConsecutiveMarkerBits | ( | ) | const [inline] |
Get maximum consecutive marker bits before buffer starts to ignore them.
DWORD RTP_JitterBuffer::GetPacketsTooLate | ( | ) | const [inline] |
Get total number received packets too late to go into jitter buffer.
unsigned RTP_JitterBuffer::GetTimeUnits | ( | ) | const [inline] |
Get time units.
virtual void RTP_JitterBuffer::Main | ( | ) | [protected, virtual] |
virtual BOOL RTP_JitterBuffer::ReadData | ( | DWORD | timestamp, | |
RTP_DataFrame & | frame | |||
) | [virtual] |
Read a data frame from the RTP channel. Any control frames received are dispatched to callbacks and are not returned by this function. It will block until a data frame is available or an error occurs.
timestamp | Timestamp to read from buffer. |
frame | Frame read from the RTP session |
void RTP_JitterBuffer::SetDelay | ( | unsigned | minJitterDelay, | |
unsigned | maxJitterDelay | |||
) |
Set the maximum delay the jitter buffer will operate to.
minJitterDelay | Minimum delay in RTP timestamp units |
maxJitterDelay | Maximum delay in RTP timestamp units |
void RTP_JitterBuffer::SetMaxConsecutiveMarkerBits | ( | DWORD | max | ) | [inline] |
Set maximum consecutive marker bits before buffer starts to ignore them.
void RTP_JitterBuffer::UseImmediateReduction | ( | BOOL | state | ) | [inline] |
RTP_JitterBufferAnalyser* RTP_JitterBuffer::analyser [protected] |
PMutex RTP_JitterBuffer::bufferMutex [protected] |
unsigned RTP_JitterBuffer::bufferOverruns [protected] |
PINDEX RTP_JitterBuffer::bufferSize [protected] |
unsigned RTP_JitterBuffer::consecutiveBufferOverruns [protected] |
PTimeInterval RTP_JitterBuffer::consecutiveEarlyPacketStartTime [protected] |
DWORD RTP_JitterBuffer::consecutiveMarkerBits [protected] |
unsigned RTP_JitterBuffer::currentDepth [protected] |
DWORD RTP_JitterBuffer::currentJitterTime [protected] |
Entry* RTP_JitterBuffer::currentWriteFrame [protected] |
BOOL RTP_JitterBuffer::doJitterReductionImmediately [protected] |
BOOL RTP_JitterBuffer::doneFirstWrite [protected] |
BOOL RTP_JitterBuffer::doneFreeTrash [protected] |
Entry* RTP_JitterBuffer::freeFrames [protected] |
DWORD RTP_JitterBuffer::jitterCalc [protected] |
unsigned RTP_JitterBuffer::jitterCalcPacketCount [protected] |
PTimeInterval RTP_JitterBuffer::lastWriteTick [protected] |
DWORD RTP_JitterBuffer::lastWriteTimestamp [protected] |
DWORD RTP_JitterBuffer::maxConsecutiveMarkerBits [protected] |
DWORD RTP_JitterBuffer::maxJitterTime [protected] |
DWORD RTP_JitterBuffer::minJitterTime [protected] |
Entry* RTP_JitterBuffer::newestFrame [protected] |
Entry* RTP_JitterBuffer::oldestFrame [protected] |
DWORD RTP_JitterBuffer::packetsTooLate [protected] |
BOOL RTP_JitterBuffer::preBuffering [protected] |
RTP_Session& RTP_JitterBuffer::session [protected] |
BOOL RTP_JitterBuffer::shuttingDown [protected] |
DWORD RTP_JitterBuffer::targetJitterTime [protected] |
unsigned RTP_JitterBuffer::timeUnits [protected] |