bowen liu / Mbed OS mbed-os-example-blinky

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Embed: (wiki syntax)

« Back to documentation index

JitterBuffer: Adaptive jitter buffer

JitterBuffer: Adaptive jitter buffer

This is the jitter buffer that reorders UDP/RTP packets and adjusts the buffer size to maintain good quality and low latency. More...

Data Structures

struct  _JitterBufferPacket
 Definition of an incoming packet. More...

Typedefs

typedef struct JitterBuffer_ JitterBuffer
 Generic adaptive jitter buffer state.
typedef struct _JitterBufferPacket JitterBufferPacket
 Definition of an incoming packet.

Functions

JitterBufferjitter_buffer_init (int tick)
 Initialises jitter buffer.
void jitter_buffer_reset (JitterBuffer *jitter)
 Restores jitter buffer to its original state.
void jitter_buffer_destroy (JitterBuffer *jitter)
 Destroys jitter buffer.
void jitter_buffer_put (JitterBuffer *jitter, const JitterBufferPacket *packet)
 Put one packet into the jitter buffer.
int jitter_buffer_get (JitterBuffer *jitter, JitterBufferPacket *packet, spx_int32_t *start_offset)
 Get one packet from the jitter buffer.
int jitter_buffer_get_pointer_timestamp (JitterBuffer *jitter)
 Get pointer timestamp of jitter buffer.
void jitter_buffer_tick (JitterBuffer *jitter)
 Advance by one tick.
int jitter_buffer_ctl (JitterBuffer *jitter, int request, void *ptr)
 Used like the ioctl function to control the jitter buffer parameters.

Detailed Description

This is the jitter buffer that reorders UDP/RTP packets and adjusts the buffer size to maintain good quality and low latency.


Typedef Documentation

typedef struct JitterBuffer_ JitterBuffer

Generic adaptive jitter buffer state.

Definition at line 55 of file speex_jitter.h.

Definition of an incoming packet.

Definition at line 58 of file speex_jitter.h.


Function Documentation

int jitter_buffer_ctl ( JitterBuffer jitter,
int  request,
void *  ptr 
)

Used like the ioctl function to control the jitter buffer parameters.

Parameters:
jitterJitter buffer state
requestioctl-type request (one of the JITTER_BUFFER_* macros)
ptrData exchanged to-from function
Returns:
0 if no error, -1 if request in unknown
void jitter_buffer_destroy ( JitterBuffer jitter )

Destroys jitter buffer.

Parameters:
jitterJitter buffer state
int jitter_buffer_get ( JitterBuffer jitter,
JitterBufferPacket packet,
spx_int32_t *  start_offset 
)

Get one packet from the jitter buffer.

Parameters:
jitterJitter buffer state
packetReturned packet
current_timestampTimestamp for the returned packet
int jitter_buffer_get_pointer_timestamp ( JitterBuffer jitter )

Get pointer timestamp of jitter buffer.

Parameters:
jitterJitter buffer state
JitterBuffer* jitter_buffer_init ( int  tick )

Initialises jitter buffer.

Parameters:
tickNumber of samples per "tick", i.e. the time period of the elements that will be retrieved
Returns:
Newly created jitter buffer state
void jitter_buffer_put ( JitterBuffer jitter,
const JitterBufferPacket packet 
)

Put one packet into the jitter buffer.

Parameters:
jitterJitter buffer state
packetIncoming packet
void jitter_buffer_reset ( JitterBuffer jitter )

Restores jitter buffer to its original state.

Parameters:
jitterJitter buffer state
void jitter_buffer_tick ( JitterBuffer jitter )

Advance by one tick.

Parameters:
jitterJitter buffer state