Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

RTP_JitterBuffer Class Reference

#include <jitter.h>

List of all members.

Public Member Functions

 RTP_JitterBuffer (RTP_Session &session, unsigned minJitterDelay, unsigned maxJitterDelay, PINDEX stackSize=30000)
 ~RTP_JitterBuffer ()
void SetDelay (unsigned minJitterDelay, unsigned maxJitterDelay)
void UseImmediateReduction (BOOL state)
virtual BOOL ReadData (DWORD timestamp, RTP_DataFrame &frame)
DWORD GetJitterTime () const
DWORD GetPacketsTooLate () const
DWORD GetBufferOverruns () const
DWORD GetMaxConsecutiveMarkerBits () const
void SetMaxConsecutiveMarkerBits (DWORD max)

Protected Member Functions

virtual void Main ()

Protected Attributes

RTP_Sessionsession
PINDEX bufferSize
DWORD minJitterTime
DWORD maxJitterTime
DWORD maxConsecutiveMarkerBits
unsigned currentDepth
DWORD currentJitterTime
DWORD packetsTooLate
unsigned bufferOverruns
unsigned consecutiveBufferOverruns
DWORD consecutiveMarkerBits
PTimeInterval consecutiveEarlyPacketStartTime
DWORD lastWriteTimestamp
PTimeInterval lastWriteTick
DWORD jitterCalc
DWORD targetJitterTime
unsigned jitterCalcPacketCount
BOOL doJitterReductionImmediately
BOOL doneFreeTrash
EntryoldestFrame
EntrynewestFrame
EntryfreeFrames
EntrycurrentWriteFrame
PMutex bufferMutex
BOOL shuttingDown
BOOL preBuffering
BOOL doneFirstWrite
RTP_JitterBufferAnalyser * analyser

Classes

class  Entry


Constructor & Destructor Documentation

RTP_JitterBuffer::RTP_JitterBuffer RTP_Session session,
unsigned  minJitterDelay,
unsigned  maxJitterDelay,
PINDEX  stackSize = 30000
 

Parameters:
minJitterDelay  Associated RTP session tor ead data from
maxJitterDelay  Minimum delay in RTP timestamp units
stackSize  Maximum delay in RTP timestamp units Stack size for jitter thread

RTP_JitterBuffer::~RTP_JitterBuffer  ) 
 


Member Function Documentation

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.

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.

Parameters:
frame  Timestamp to read from buffer. Frame read from the RTP session

void RTP_JitterBuffer::SetDelay unsigned  minJitterDelay,
unsigned  maxJitterDelay
 

Set the maximum delay the jitter buffer will operate to.

Parameters:
maxJitterDelay  Minimum delay in RTP timestamp units 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]
 


Member Data Documentation

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]
 


The documentation for this class was generated from the following file:
Generated on Mon Sep 26 15:45:31 2005 for OpenH323 by  doxygen 1.4.4