| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
Jitterbuffering algorithm. More...

Go to the source code of this file.
| Data Structures | |
| struct | fixed_jb_conf | 
| struct | fixed_jb_frame | 
| Macros | |
| #define | FIXED_JB_RESYNCH_THRESHOLD_DEFAULT 1000 | 
| #define | FIXED_JB_SIZE_DEFAULT 200 | 
| Enumerations | |
| enum | { FIXED_JB_OK , FIXED_JB_DROP , FIXED_JB_INTERP , FIXED_JB_NOFRAME } | 
| Functions | |
| void | fixed_jb_destroy (struct fixed_jb *jb) | 
| int | fixed_jb_get (struct fixed_jb *jb, struct fixed_jb_frame *frame, long now, long interpl) | 
| int | fixed_jb_is_late (struct fixed_jb *jb, long ts) | 
| Checks if the given time stamp is late. | |
| struct fixed_jb * | fixed_jb_new (struct fixed_jb_conf *conf) | 
| long | fixed_jb_next (struct fixed_jb *jb) | 
| int | fixed_jb_put (struct fixed_jb *jb, void *data, long ms, long ts, long now) | 
| int | fixed_jb_put_first (struct fixed_jb *jb, void *data, long ms, long ts, long now) | 
| int | fixed_jb_remove (struct fixed_jb *jb, struct fixed_jb_frame *frameout) | 
| void | fixed_jb_set_force_resynch (struct fixed_jb *jb) | 
Jitterbuffering algorithm.
Definition in file fixedjitterbuf.h.
| #define FIXED_JB_RESYNCH_THRESHOLD_DEFAULT 1000 | 
Definition at line 45 of file fixedjitterbuf.h.
| #define FIXED_JB_SIZE_DEFAULT 200 | 
Definition at line 44 of file fixedjitterbuf.h.
| anonymous enum | 
| Enumerator | |
|---|---|
| FIXED_JB_OK | |
| FIXED_JB_DROP | |
| FIXED_JB_INTERP | |
| FIXED_JB_NOFRAME | |
Definition at line 35 of file fixedjitterbuf.h.
| void fixed_jb_destroy | ( | struct fixed_jb * | jb | ) | 
Definition at line 127 of file fixedjitterbuf.c.
References ASSERT, ast_free, fixed_jb::frames, and NULL.
Referenced by jb_destroy_fixed().
| int fixed_jb_get | ( | struct fixed_jb * | jb, | 
| struct fixed_jb_frame * | frame, | ||
| long | now, | ||
| long | interpl | ||
| ) | 
Definition at line 291 of file fixedjitterbuf.c.
References ASSERT, fixed_jb_frame::delivery, FIXED_JB_DROP, FIXED_JB_INTERP, FIXED_JB_NOFRAME, FIXED_JB_OK, frames, fixed_jb::frames, get_jb_head(), fixed_jb_frame::ms, and fixed_jb::next_delivery.
Referenced by jb_get_fixed().
| int fixed_jb_is_late | ( | struct fixed_jb * | jb, | 
| long | ts | ||
| ) | 
Checks if the given time stamp is late.
Definition at line 350 of file fixedjitterbuf.c.
References fixed_jb::delay, fixed_jb::next_delivery, fixed_jb::rxcore, and fixed_jb_frame::ts.
Referenced by jb_is_late_fixed().
| struct fixed_jb * fixed_jb_new | ( | struct fixed_jb_conf * | conf | ) | 
Definition at line 100 of file fixedjitterbuf.c.
References ast_calloc, fixed_jb::conf, fixed_jb::delay, FIXED_JB_RESYNCH_THRESHOLD_DEFAULT, FIXED_JB_SIZE_DEFAULT, and NULL.
Referenced by jb_create_fixed().
| long fixed_jb_next | ( | struct fixed_jb * | jb | ) | 
Definition at line 334 of file fixedjitterbuf.c.
References fixed_jb::next_delivery.
Referenced by jb_next_fixed().
| int fixed_jb_put | ( | struct fixed_jb * | jb, | 
| void * | data, | ||
| long | ms, | ||
| long | ts, | ||
| long | now | ||
| ) | 
Definition at line 197 of file fixedjitterbuf.c.
References alloc_jb_frame(), ASSERT, fixed_jb::conf, fixed_jb_frame::data, fixed_jb::delay, fixed_jb_frame::delivery, FIXED_JB_OK, fixed_jb::force_resynch, fixed_jb::frames, fixed_jb_frame::ms, fixed_jb_frame::next, fixed_jb::next_delivery, NULL, fixed_jb_frame::prev, fixed_jb_conf::resync_threshold, resynch_jb(), fixed_jb::rxcore, fixed_jb::tail, and fixed_jb_frame::ts.
Referenced by fixed_jb_put_first(), jb_put_fixed(), and resynch_jb().
| int fixed_jb_put_first | ( | struct fixed_jb * | jb, | 
| void * | data, | ||
| long | ms, | ||
| long | ts, | ||
| long | now | ||
| ) | 
Definition at line 185 of file fixedjitterbuf.c.
References fixed_jb_frame::data, fixed_jb::delay, fixed_jb_put(), fixed_jb_frame::ms, fixed_jb::next_delivery, fixed_jb::rxcore, and fixed_jb_frame::ts.
Referenced by jb_put_first_fixed(), and resynch_jb().
| int fixed_jb_remove | ( | struct fixed_jb * | jb, | 
| struct fixed_jb_frame * | frameout | ||
| ) | 
Definition at line 340 of file fixedjitterbuf.c.
References FIXED_JB_NOFRAME, FIXED_JB_OK, fixed_jb::frames, and get_jb_head().
Referenced by jb_empty_and_reset_fixed(), and jb_remove_fixed().
| void fixed_jb_set_force_resynch | ( | struct fixed_jb * | jb | ) | 
Definition at line 179 of file fixedjitterbuf.c.
References fixed_jb::force_resynch.
Referenced by jb_force_resynch_fixed().