OPAL  Version 3.18.8
OpalJitterBuffer Class Referenceabstract

#include <jitter.h>

Inheritance diagram for OpalJitterBuffer:

Data Structures

struct  Init
 Initialisation information. More...
 
struct  Params
 

Public Member Functions

Operations
virtual void SetDelay (const Init &init)
 
virtual void Close ()=0
 
virtual void Restart ()=0
 
virtual bool WriteData (const RTP_DataFrame &frame, const PTimeInterval &tick=PTimer::Tick())=0
 
virtual bool ReadData (RTP_DataFrame &frame, const PTimeInterval &timeout=PMaxTimeInterval)=0
 
virtual RTP_Timestamp GetCurrentJitterDelay () const
 
virtual RTP_Timestamp GetPacketTime () const
 
unsigned GetTimeUnits () const
 
RTP_Timestamp GetMinJitterDelay () const
 
RTP_Timestamp GetMaxJitterDelay () const
 
unsigned GetPacketsTooLate () const
 
unsigned GetBufferOverruns () const
 

Protected Member Functions

 PDECLARE_MUTEX (m_bufferMutex)
 

Protected Attributes

const unsigned m_timeUnits
 
PINDEX m_packetSize
 
RTP_Timestamp m_minJitterDelay
 Minimum jitter delay in timestamp units. More...
 
RTP_Timestamp m_maxJitterDelay
 Maximum jitter delay in timestamp units. More...
 
unsigned m_packetsTooLate
 
unsigned m_bufferOverruns
 
Analyser * m_analyser
 

Construction

 OpalJitterBuffer (const Init &init)
 
virtual ~OpalJitterBuffer ()
 
static OpalJitterBufferCreate (const OpalMediaType &mediaType, const Init &init)
 

Detailed Description

This is an Abstract jitter buffer.

Constructor & Destructor Documentation

OpalJitterBuffer::OpalJitterBuffer ( const Init init)

Constructor for this jitter buffer. The size of this buffer can be altered later with the SetDelay method

Parameters
initInitialisation information
virtual OpalJitterBuffer::~OpalJitterBuffer ( )
virtual

Destructor, which closes this down and deletes the internal list of frames

Member Function Documentation

virtual void OpalJitterBuffer::Close ( )
pure virtual

Close jitter buffer.

Implemented in OpalNonJitterBuffer, and OpalAudioJitterBuffer.

static OpalJitterBuffer* OpalJitterBuffer::Create ( const OpalMediaType mediaType,
const Init init 
)
static
Parameters
initInitialisation information
unsigned OpalJitterBuffer::GetBufferOverruns ( ) const

Get total number received packets that overran the jitter buffer.

virtual RTP_Timestamp OpalJitterBuffer::GetCurrentJitterDelay ( ) const
inlinevirtual

Get current delay for jitter buffer.

Reimplemented in OpalAudioJitterBuffer.

RTP_Timestamp OpalJitterBuffer::GetMaxJitterDelay ( ) const

Get maximum delay for jitter buffer.

RTP_Timestamp OpalJitterBuffer::GetMinJitterDelay ( ) const

Get minimum delay for jitter buffer.

unsigned OpalJitterBuffer::GetPacketsTooLate ( ) const

Get total number received packets too late to go into jitter buffer.

virtual RTP_Timestamp OpalJitterBuffer::GetPacketTime ( ) const
inlinevirtual

Get average packet time for incoming data.

Reimplemented in OpalAudioJitterBuffer.

unsigned OpalJitterBuffer::GetTimeUnits ( ) const
inline

Get time units.

References m_timeUnits.

OpalJitterBuffer::PDECLARE_MUTEX ( m_bufferMutex  )
protected
virtual bool OpalJitterBuffer::ReadData ( RTP_DataFrame frame,
const PTimeInterval &  timeout = PMaxTimeInterval 
)
pure virtual

Read a data frame from the jitter buffer. This function never blocks. If no data is available, an RTP packet with zero payload size is returned.

Parameters
frameFrame to extract from jitter buffer
timeoutTime out for read

Implemented in OpalNonJitterBuffer, and OpalAudioJitterBuffer.

virtual void OpalJitterBuffer::Restart ( )
pure virtual

Restart jitter buffer.

Implemented in OpalNonJitterBuffer, and OpalAudioJitterBuffer.

virtual void OpalJitterBuffer::SetDelay ( const Init init)
virtual

Set the maximum delay the jitter buffer will operate to.

Parameters
initInitialisation information

Reimplemented in OpalAudioJitterBuffer.

virtual bool OpalJitterBuffer::WriteData ( const RTP_DataFrame frame,
const PTimeInterval &  tick = PTimer::Tick() 
)
pure virtual

Write data frame from the RTP channel.

Parameters
frameFrame to feed into jitter buffer
tickReal time tick for packet arrival

Implemented in OpalNonJitterBuffer, and OpalAudioJitterBuffer.

Field Documentation

Analyser* OpalJitterBuffer::m_analyser
protected
unsigned OpalJitterBuffer::m_bufferOverruns
protected
RTP_Timestamp OpalJitterBuffer::m_maxJitterDelay
protected

Maximum jitter delay in timestamp units.

RTP_Timestamp OpalJitterBuffer::m_minJitterDelay
protected

Minimum jitter delay in timestamp units.

PINDEX OpalJitterBuffer::m_packetSize
protected
unsigned OpalJitterBuffer::m_packetsTooLate
protected
const unsigned OpalJitterBuffer::m_timeUnits
protected

Referenced by GetTimeUnits().


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