sipxmedialib  Version 3.3
Static Protected Attributes | List of all members
MpJitterBufferEstimation Class Referenceabstract

Abstract base class for Jitter Buffer Estimation (JBE) algorithms. More...

#include <MpJitterBufferEstimation.h>

Inheritance diagram for MpJitterBufferEstimation:
Inheritance graph
[legend]

Static Protected Attributes

static UtlString smDefaultAlgorithm
 Name of algorithm to be used by default. More...
 

Creators

virtual ~MpJitterBufferEstimation ()
 Destructor. More...
 
virtual OsStatus init (int samplerate)=0
 Initialize algorithm with given samplerate. More...
 
static MpJitterBufferEstimationcreateJbe (const UtlString &algName="")
 Factory method for VAD algorithms creation. More...
 

Manipulators

virtual OsStatus update (const RtpHeader *rtp, uint32_t cur_rtp_timestamp, uint32_t cur_playback_time, int32_t *hint)=0
 Update estimation with new received packet. More...
 
virtual void reset ()=0
 Prepare to process other unrelated audio stream. More...
 
static void setDefaultAlgorithm (const UtlString &name)
 Set algorithm to be used by default. More...
 

Detailed Description

Abstract base class for Jitter Buffer Estimation (JBE) algorithms.

Constructor & Destructor Documentation

virtual ~MpJitterBufferEstimation ( )
inlinevirtual

Destructor.

Member Function Documentation

virtual OsStatus init ( int  samplerate)
pure virtual

Initialize algorithm with given samplerate.

Implemented in MpJbeFixed.

MpJitterBufferEstimation * createJbe ( const UtlString &  algName = "")
static

Factory method for VAD algorithms creation.

Should be called before any other class methods.

Parameters
[in]algName- name of JBE algorithm to use. Use empty string to get default algorithm.
Returns
Method never returns NULL. If appropriate JBE algorithm is not found, default one is returned.
virtual OsStatus update ( const RtpHeader rtp,
uint32_t  cur_rtp_timestamp,
uint32_t  cur_playback_time,
int32_t *  hint 
)
pure virtual

Update estimation with new received packet.

Implemented in MpJbeFixed.

void setDefaultAlgorithm ( const UtlString &  name)
static

Set algorithm to be used by default.

Initially default algorithm is defined at compile time. Using this function you can change default algorithm at run-time or switch back to compile-time default.

Parameters
[in]name- name of algorithm to use by default. Reverts to compile-time default if empty.
virtual void reset ( )
pure virtual

Prepare to process other unrelated audio stream.

Only initialized algorithm can be reseted. Calling reset() should bring algorithm to the original state as it was right after init(). So init() should NOT be called after reset().

Implemented in MpJbeFixed.

Member Data Documentation

UtlString smDefaultAlgorithm
staticprotected

Name of algorithm to be used by default.