OPAL
Version 3.10.10
|
#include <jitter.h>
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) |
![]() | |
OpalJitterBufferThread (unsigned minJitterDelay, unsigned maxJitterDelay, unsigned timeUnits=8, PINDEX packetSize=2048) | |
~OpalJitterBufferThread () | |
virtual PBoolean | ReadData (RTP_DataFrame &frame) |
void | StartThread () |
![]() | |
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_Session & | m_session |
![]() | |
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 |
Amaint 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_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 | |
![]() | |
enum | { e_SynchronisationStart, e_SynchronisationFill, e_SynchronisationShrink, e_SynchronisationDone } |
typedef std::map< DWORD, RTP_DataFrame > | FrameMap |
![]() | |
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) |
A descendant of the OpalJitterBuffer that reads RTP_DataFrame instances from the RTP_Sessions
RTP_JitterBuffer::RTP_JitterBuffer | ( | RTP_Session & | session, |
unsigned | minJitterDelay, | ||
unsigned | maxJitterDelay, | ||
unsigned | timeUnits = 8 , |
||
PINDEX | packetSize = 2048 |
||
) |
session | Associated RTP session tor ead data from |
minJitterDelay | Minimum delay in RTP timestamp units |
maxJitterDelay | Maximum delay in RTP timestamp units |
timeUnits | Time units, usually 8 or 16 |
packetSize | Max RTP packet size |
RTP_JitterBuffer::~RTP_JitterBuffer | ( | ) |
|
virtual |
This class instance collects data from the outside world in this method.
frame | Frame read from the RTP session |
Implements OpalJitterBufferThread.
|
protected |
This class extracts data from the outside world by reading from this session variable