OPAL
Version 3.18.8
|
#include <jitter.h>
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 OpalJitterBuffer * | Create (const OpalMediaType &mediaType, const Init &init) |
This is an Abstract jitter buffer.
OpalJitterBuffer::OpalJitterBuffer | ( | const Init & | init | ) |
Constructor for this jitter buffer. The size of this buffer can be altered later with the SetDelay method
init | Initialisation information |
|
virtual |
Destructor, which closes this down and deletes the internal list of frames
|
pure virtual |
Close jitter buffer.
Implemented in OpalNonJitterBuffer, and OpalAudioJitterBuffer.
|
static |
init | Initialisation information |
unsigned OpalJitterBuffer::GetBufferOverruns | ( | ) | const |
Get total number received packets that overran the jitter buffer.
|
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.
|
inlinevirtual |
Get average packet time for incoming data.
Reimplemented in OpalAudioJitterBuffer.
|
inline |
Get time units.
References m_timeUnits.
|
protected |
|
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.
frame | Frame to extract from jitter buffer |
timeout | Time out for read |
Implemented in OpalNonJitterBuffer, and OpalAudioJitterBuffer.
|
pure virtual |
Restart jitter buffer.
Implemented in OpalNonJitterBuffer, and OpalAudioJitterBuffer.
|
virtual |
Set the maximum delay the jitter buffer will operate to.
init | Initialisation information |
Reimplemented in OpalAudioJitterBuffer.
|
pure virtual |
Write data frame from the RTP channel.
frame | Frame to feed into jitter buffer |
tick | Real time tick for packet arrival |
Implemented in OpalNonJitterBuffer, and OpalAudioJitterBuffer.
|
protected |
|
protected |
|
protected |
Maximum jitter delay in timestamp units.
|
protected |
Minimum jitter delay in timestamp units.
|
protected |
|
protected |
|
protected |
Referenced by GetTimeUnits().