OPAL
Version 3.14.3
|
#include <jitter.h>
Public Member Functions | |
OpalJitterBufferThread (const Init &init) | |
~OpalJitterBufferThread () | |
virtual void | Start () |
Start jiter buffer. More... | |
virtual PBoolean | ReadData (RTP_DataFrame &frame, const PTimeInterval &tick=0) |
virtual PBoolean | OnReadPacket (RTP_DataFrame &frame)=0 |
![]() | |
OpalJitterBuffer (const Init &init) | |
virtual | ~OpalJitterBuffer () |
void | PrintOn (ostream &strm) const |
void | SetDelay (const Init &init) |
void | Reset () |
virtual PBoolean | WriteData (const RTP_DataFrame &frame, PTimeInterval tick=PTimer::Tick()) |
virtual PBoolean | ReadData (RTP_DataFrame &frame, PTimeInterval tick=PTimer::Tick()) |
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 Member Functions | |
PDECLARE_NOTIFIER (PThread, OpalJitterBufferThread, JitterThreadMain) | |
void | WaitForThreadTermination () |
Internal function to be called from derived class destructor. More... | |
![]() | |
DWORD | CalculateRequiredTimestamp (DWORD playOutTimestamp) const |
bool | AdjustCurrentJitterDelay (int delta) |
Protected Attributes | |
PThread * | m_jitterThread |
bool | m_running |
![]() | |
unsigned | m_timeUnits |
PINDEX | m_packetSize |
DWORD | m_minJitterDelay |
Minimum jitter delay in timestamp units. More... | |
DWORD | m_maxJitterDelay |
Maximum jitter delay in timestamp units. More... | |
int | m_jitterGrowTime |
Amount to increase jitter delay by when get "late" packet. More... | |
DWORD | m_jitterShrinkPeriod |
int | m_jitterShrinkTime |
Amount to shrink jitter delay by if consistently filled. More... | |
DWORD | m_silenceShrinkPeriod |
Reduce jitter delay is silent for this long. More... | |
int | m_silenceShrinkTime |
Amount to shrink jitter delay by if consistently silent. More... | |
DWORD | m_jitterDriftPeriod |
int | m_currentJitterDelay |
DWORD | m_packetsTooLate |
DWORD | m_bufferOverruns |
DWORD | m_consecutiveMarkerBits |
DWORD | m_maxConsecutiveMarkerBits |
DWORD | m_consecutiveLatePackets |
DWORD | m_consecutiveOverflows |
DWORD | m_consecutiveEmpty |
unsigned | m_frameTimeCount |
uint64_t | m_frameTimeSum |
DWORD | m_incomingFrameTime |
DWORD | m_lastSequenceNum |
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 | |
![]() | |
enum | { e_SynchronisationStart, e_SynchronisationFill, e_SynchronisationShrink, e_SynchronisationDone } |
typedef std::map< DWORD, RTP_DataFrame > | FrameMap |
A descendant of the OpalJitterBuffer that starts a thread to read from something continuously and feed it into the jitter buffer.
OpalJitterBufferThread::OpalJitterBufferThread | ( | const Init & | init | ) |
init | Initialisation information |
OpalJitterBufferThread::~OpalJitterBufferThread | ( | ) |
|
pure virtual |
This class instance collects data from the outside world in this method.
frame | Frame read from the RTP session |
|
protected |
|
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.
Override of base class so can terminate caller when shutting down.
frame | Frame to extract from jitter buffer |
tick | Real time tick for packet removal |
|
virtual |
Start jiter buffer.
Reimplemented from OpalJitterBuffer.
|
protected |
Internal function to be called from derived class destructor.
|
protected |
|
protected |