OPAL
Version 3.18.8
|
#include <jitter.h>
Public Member Functions | |
Construction | |
OpalAudioJitterBuffer (const Init &init) | |
virtual | ~OpalAudioJitterBuffer () |
Overrides from PObject | |
void | PrintOn (ostream &strm) const |
Operations | |
virtual void | SetDelay (const Init &init) |
virtual void | Close () |
virtual void | Restart () |
virtual bool | WriteData (const RTP_DataFrame &frame, const PTimeInterval &tick=PTimer::Tick()) |
virtual bool | ReadData (RTP_DataFrame &frame, const PTimeInterval &timeout=PMaxTimeInterval) |
virtual RTP_Timestamp | GetCurrentJitterDelay () const |
virtual RTP_Timestamp | GetPacketTime () const |
unsigned | GetMaxConsecutiveMarkerBits () const |
void | SetMaxConsecutiveMarkerBits (unsigned max) |
![]() | |
unsigned | GetTimeUnits () const |
RTP_Timestamp | GetMinJitterDelay () const |
RTP_Timestamp | GetMaxJitterDelay () const |
unsigned | GetPacketsTooLate () const |
unsigned | GetBufferOverruns () const |
OpalJitterBuffer (const Init &init) | |
virtual | ~OpalJitterBuffer () |
Protected Types | |
enum | AdjustResult { e_Unchanged, e_Decreased, e_Increased, e_ReachedMinimum, e_ReachedMaximum } |
enum | { e_SynchronisationStart, e_SynchronisationFill, e_SynchronisationShrink, e_SynchronisationDone } |
typedef std::map < RTP_Timestamp, RTP_DataFrame > | FrameMap |
Protected Member Functions | |
void | InternalReset () |
RTP_Timestamp | CalculateRequiredTimestamp (RTP_Timestamp playOutTimestamp) const |
AdjustResult | AdjustCurrentJitterDelay (int delta) |
![]() | |
PDECLARE_MUTEX (m_bufferMutex) | |
Friends | |
ostream & | operator<< (ostream &strm, const AdjustResult adjusted) |
This is an Audio jitter buffer.
|
protected |
|
protected |
|
protected |
OpalAudioJitterBuffer::OpalAudioJitterBuffer | ( | 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
|
protected |
|
protected |
|
virtual |
Reset jitter buffer.
Implements OpalJitterBuffer.
|
virtual |
Get current delay for jitter buffer.
Reimplemented from OpalJitterBuffer.
|
inline |
Get maximum consecutive marker bits before buffer starts to ignore them.
References m_maxConsecutiveMarkerBits.
|
virtual |
Get average packet time for incoming data.
Reimplemented from OpalJitterBuffer.
|
protected |
void OpalAudioJitterBuffer::PrintOn | ( | ostream & | strm | ) | const |
Report the statistics for this jitter instance
|
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 |
Implements OpalJitterBuffer.
|
virtual |
Restart jitter buffer.
Implements OpalJitterBuffer.
|
virtual |
Set the maximum delay the jitter buffer will operate to.
init | Initialisation information |
Reimplemented from OpalJitterBuffer.
|
inline |
Set maximum consecutive marker bits before buffer starts to ignore them.
References m_maxConsecutiveMarkerBits.
|
virtual |
Write data frame from the RTP channel.
frame | Frame to feed into jitter buffer |
tick | Real time tick for packet arrival |
Implements OpalJitterBuffer.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Amount to increase jitter delay by when get "late" packet.
|
protected |
consistently filled before shrinking
Period (in timestamp units) over which buffer is
|
protected |
Amount to shrink jitter delay by if consistently filled.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetMaxConsecutiveMarkerBits(), and SetMaxConsecutiveMarkerBits().
|
protected |
|
protected |
|
protected |
Reduce jitter delay is silent for this long.
|
protected |
Amount to shrink jitter delay by if consistently silent.
enum { ... } OpalAudioJitterBuffer::m_synchronisationState |
|
protected |