UniMRCP  1.7.0
Typedefs | Enumerations | Functions
mpf_jitter_buffer.h File Reference

Jitter Buffer. More...

#include "mpf_frame.h"
#include "mpf_codec.h"
#include "mpf_rtp_descriptor.h"
Include dependency graph for mpf_jitter_buffer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct mpf_jitter_buffer_t mpf_jitter_buffer_t
 

Enumerations

enum  jb_result_t { JB_OK, JB_DISCARD_NOT_ALLIGNED, JB_DISCARD_TOO_LATE, JB_DISCARD_TOO_EARLY }
 

Functions

mpf_jitter_buffer_tmpf_jitter_buffer_create (mpf_jb_config_t *jb_config, mpf_codec_descriptor_t *descriptor, mpf_codec_t *codec, apr_pool_t *pool)
 
void mpf_jitter_buffer_destroy (mpf_jitter_buffer_t *jb)
 
apt_bool_t mpf_jitter_buffer_restart (mpf_jitter_buffer_t *jb)
 
jb_result_t mpf_jitter_buffer_write (mpf_jitter_buffer_t *jb, void *buffer, apr_size_t size, apr_uint32_t ts, apr_byte_t marker)
 
jb_result_t mpf_jitter_buffer_event_write (mpf_jitter_buffer_t *jb, const mpf_named_event_frame_t *named_event, apr_uint32_t ts, apr_byte_t marker)
 
apt_bool_t mpf_jitter_buffer_read (mpf_jitter_buffer_t *jb, mpf_frame_t *media_frame)
 
apr_uint32_t mpf_jitter_buffer_playout_delay_get (const mpf_jitter_buffer_t *jb)
 

Detailed Description

Jitter Buffer.

Typedef Documentation

◆ mpf_jitter_buffer_t

Opaque jitter buffer declaration

Enumeration Type Documentation

◆ jb_result_t

Jitter buffer write result

Enumerator
JB_OK 

successful write

JB_DISCARD_NOT_ALLIGNED 

discarded write (frame isn't alligned to CODEC_FRAME_TIME_BASE)

JB_DISCARD_TOO_LATE 

discarded write (frame is arrived too late)

JB_DISCARD_TOO_EARLY 

discarded write (frame is arrived too early, buffer is full)

Function Documentation

◆ mpf_jitter_buffer_create()

mpf_jitter_buffer_t* mpf_jitter_buffer_create ( mpf_jb_config_t jb_config,
mpf_codec_descriptor_t descriptor,
mpf_codec_t codec,
apr_pool_t *  pool 
)

Create jitter buffer

◆ mpf_jitter_buffer_destroy()

void mpf_jitter_buffer_destroy ( mpf_jitter_buffer_t jb)

Destroy jitter buffer

◆ mpf_jitter_buffer_event_write()

jb_result_t mpf_jitter_buffer_event_write ( mpf_jitter_buffer_t jb,
const mpf_named_event_frame_t named_event,
apr_uint32_t  ts,
apr_byte_t  marker 
)

Write named event to jitter buffer

◆ mpf_jitter_buffer_playout_delay_get()

apr_uint32_t mpf_jitter_buffer_playout_delay_get ( const mpf_jitter_buffer_t jb)

Get current playout delay

◆ mpf_jitter_buffer_read()

apt_bool_t mpf_jitter_buffer_read ( mpf_jitter_buffer_t jb,
mpf_frame_t media_frame 
)

Read media frame from jitter buffer

◆ mpf_jitter_buffer_restart()

apt_bool_t mpf_jitter_buffer_restart ( mpf_jitter_buffer_t jb)

Restart jitter buffer

◆ mpf_jitter_buffer_write()

jb_result_t mpf_jitter_buffer_write ( mpf_jitter_buffer_t jb,
void *  buffer,
apr_size_t  size,
apr_uint32_t  ts,
apr_byte_t  marker 
)

Write audio data to jitter buffer