Yate
RTPDejitter Class Reference

Dejitter buffer for incoming data packets. More...

#include <yatertp.h>

Inheritance diagram for RTPDejitter:
RTPProcessor GenObject RTPDebug

Public Member Functions

 RTPDejitter (RTPReceiver *receiver, unsigned int mindelay, unsigned int maxdelay, DebugEnabler *dbg=0, const char *traceId=0)
 
virtual ~RTPDejitter ()
 
virtual bool rtpRecv (bool marker, int payload, unsigned int timestamp, const void *data, int len)
 
void clear ()
 
- Public Member Functions inherited from RTPProcessor
 RTPProcessor (DebugEnabler *dbg=0, const char *traceId=0)
 
virtual ~RTPProcessor ()
 
RTPGroupgroup () const
 
virtual void rtpData (const void *data, int len)
 
virtual void rtcpData (const void *data, int len)
 
virtual void getStats (String &stats) const
 
virtual void incWrongSrc ()
 
unsigned int wrongSrc ()
 
- Public Member Functions inherited from GenObject
 GenObject ()
 
virtual ~GenObject ()
 
virtual bool alive () const
 
virtual void destruct ()
 
virtual const StringtoString () const
 
virtual const StringtraceId () const
 
virtual void * getObject (const String &name) const
 
NamedCountergetObjCounter () const
 
NamedCountersetObjCounter (NamedCounter *counter)
 
- Public Member Functions inherited from RTPDebug
 RTPDebug (DebugEnabler *dbg, const char *traceId)
 
 RTPDebug (RTPSession *session)
 
DebugEnablerdbg () const
 
const StringdbgTraceId () const
 

Protected Member Functions

virtual void timerTick (const Time &when)
 
- Protected Member Functions inherited from RTPProcessor
void group (RTPGroup *newgrp)
 
- Protected Member Functions inherited from RTPDebug
void setDebug (DebugEnabler *dbg, const char *traceId)
 

Additional Inherited Members

- Static Public Member Functions inherited from GenObject
static void * getObject (const String &name, const GenObject *obj)
 
static bool getObjCounting ()
 
static void setObjCounting (bool enable)
 
static NamedCountergetObjCounter (const String &name, bool create=true)
 
static ObjListgetObjCounters ()
 
- Protected Attributes inherited from RTPProcessor
unsigned int m_wrongSrc
 
- Protected Attributes inherited from RTPDebug
DebugEnablerm_dbg
 
String m_traceId
 

Detailed Description

Dejitter buffer for incoming data packets.

A dejitter buffer that can be inserted in the receive data path to absorb variations in packet arrival time. Incoming packets are stored and forwarded at fixed intervals.

Constructor & Destructor Documentation

◆ RTPDejitter()

RTPDejitter ( RTPReceiver * receiver,
unsigned int mindelay,
unsigned int maxdelay,
DebugEnabler * dbg = 0,
const char * traceId = 0 )

Constructor of a new jitter attenuator

Parameters
receiverRTP receiver which gets the delayed packets
mindelayMinimum length of the dejitter buffer in microseconds
maxdelayMaximum length of the dejitter buffer in microseconds
dbgDejitter DebugEnabler
traceIdDejitter trace ID

References RTPDebug::dbg(), and GenObject::traceId().

◆ ~RTPDejitter()

virtual ~RTPDejitter ( )
virtual

Destructor - drops the packets and shows statistics

Member Function Documentation

◆ clear()

void clear ( )

Clear the delayed packets queue and all variables

◆ rtpRecv()

virtual bool rtpRecv ( bool marker,
int payload,
unsigned int timestamp,
const void * data,
int len )
virtual

Process and store one RTP data packet

Parameters
markerTrue if the marker bit is set in data packet
payloadPayload number
timestampSampling instant of the packet data
dataPointer to data block to process
lenLength of the data block in bytes
Returns
True if the data packet was queued

◆ timerTick()

virtual void timerTick ( const Time & when)
protectedvirtual

Method called periodically to keep the data flowing

Parameters
whenTime to use as base in all computing

Implements RTPProcessor.


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