OPAL  Version 3.10.10
RTP_JitterBuffer Class Reference

#include <jitter.h>

Inheritance diagram for RTP_JitterBuffer:
OpalJitterBufferThread OpalJitterBuffer

Public Member Functions

 RTP_JitterBuffer (RTP_Session &session, unsigned minJitterDelay, unsigned maxJitterDelay, unsigned timeUnits=8, PINDEX packetSize=2048)
 ~RTP_JitterBuffer ()
virtual PBoolean OnReadPacket (RTP_DataFrame &frame)
- Public Member Functions inherited from OpalJitterBufferThread
 OpalJitterBufferThread (unsigned minJitterDelay, unsigned maxJitterDelay, unsigned timeUnits=8, PINDEX packetSize=2048)
 ~OpalJitterBufferThread ()
virtual PBoolean ReadData (RTP_DataFrame &frame)
void StartThread ()
- Public Member Functions inherited from OpalJitterBuffer
 OpalJitterBuffer (unsigned minJitterDelay, unsigned maxJitterDelay, unsigned timeUnits=8, PINDEX packetSize=2048)
virtual ~OpalJitterBuffer ()
void PrintOn (ostream &strm) const
void SetDelay (unsigned minJitterDelay, unsigned maxJitterDelay, PINDEX packetSize=2048)
void Reset ()
virtual PBoolean WriteData (const RTP_DataFrame &frame, const PTimeInterval &tick=0)
virtual PBoolean ReadData (RTP_DataFrame &frame, const PTimeInterval &tick=0)
DWORD GetCurrentJitterDelay () const
DWORD GetMinJitterDelay () const
DWORD GetMaxJitterDelay () const
unsigned GetTimeUnits () const
DWORD GetPacketsTooLate () const
DWORD GetBufferOverruns () const
DWORD GetMaxConsecutiveMarkerBits () const
void SetMaxConsecutiveMarkerBits (DWORD max)

Protected Attributes

RTP_Sessionm_session
- Protected Attributes inherited from OpalJitterBufferThread
PThread * m_jitterThread
bool m_running
- Protected Attributes inherited from OpalJitterBuffer
unsigned m_timeUnits
PINDEX m_packetSize
DWORD m_minJitterDelay
 Minimum jitter delay in timestamp units.
DWORD m_maxJitterDelay
 Maximum jitter delay in timestamp units.
int m_jitterGrowTime
 Amaint to increase jitter delay by when get "late" packet.
DWORD m_jitterShrinkPeriod
int m_jitterShrinkTime
 Amount to shrink jitter delay by if consistently filled.
DWORD m_silenceShrinkPeriod
 Reduce jitter delay is silent for this long.
int m_silenceShrinkTime
 Amount to shrink jitter delay by if consistently silent.
DWORD m_jitterDriftPeriod
int m_currentJitterDelay
DWORD m_packetsTooLate
DWORD m_bufferOverruns
DWORD m_consecutiveMarkerBits
DWORD m_maxConsecutiveMarkerBits
DWORD m_consecutiveLatePackets
DWORD m_averageFrameTime
DWORD m_lastTimestamp
DWORD m_lastSyncSource
DWORD m_bufferFilledTime
DWORD m_bufferLowTime
DWORD m_bufferEmptiedTime
int m_timestampDelta
enum OpalJitterBuffer:: { ... }  m_synchronisationState
FrameMap m_frames
PMutex m_bufferMutex
RTP_JitterBufferAnalyser * m_analyser

Additional Inherited Members

- Protected Types inherited from OpalJitterBuffer
enum  { e_SynchronisationStart, e_SynchronisationFill, e_SynchronisationShrink, e_SynchronisationDone }
typedef std::map< DWORD,
RTP_DataFrame
FrameMap
- Protected Member Functions inherited from OpalJitterBufferThread
 PDECLARE_NOTIFIER (PThread, OpalJitterBufferThread, JitterThreadMain)
void WaitForThreadTermination ()
 Internal function to be called from derived class destructor.

Detailed Description

A descendant of the OpalJitterBuffer that reads RTP_DataFrame instances from the RTP_Sessions

Constructor & Destructor Documentation

RTP_JitterBuffer::RTP_JitterBuffer ( RTP_Session session,
unsigned  minJitterDelay,
unsigned  maxJitterDelay,
unsigned  timeUnits = 8,
PINDEX  packetSize = 2048 
)
Parameters
sessionAssociated RTP session tor ead data from
minJitterDelayMinimum delay in RTP timestamp units
maxJitterDelayMaximum delay in RTP timestamp units
timeUnitsTime units, usually 8 or 16
packetSizeMax RTP packet size
RTP_JitterBuffer::~RTP_JitterBuffer ( )

Member Function Documentation

virtual PBoolean RTP_JitterBuffer::OnReadPacket ( RTP_DataFrame frame)
virtual

This class instance collects data from the outside world in this method.

Returns
true on successful read, false on faulty read.
Parameters
frameFrame read from the RTP session

Implements OpalJitterBufferThread.

Field Documentation

RTP_Session& RTP_JitterBuffer::m_session
protected

This class extracts data from the outside world by reading from this session variable


The documentation for this class was generated from the following file: