| /** |
| * @file re_jbuf.h Interface to Jitter Buffer |
| * |
| * Copyright (C) 2010 Creytiv.com |
| */ |
| struct jbuf; |
| struct rtp_header; |
| |
| /** Jitter buffer statistics */ |
| struct jbuf_stat { |
| uint32_t n_put; /**< Number of frames put into jitter buffer */ |
| uint32_t n_get; /**< Number of frames got from jitter buffer */ |
| uint32_t n_oos; /**< Number of out-of-sequence frames */ |
| uint32_t n_dups; /**< Number of duplicate frames detected */ |
| uint32_t n_late; /**< Number of frames arriving too late */ |
| uint32_t n_lost; /**< Number of lost frames */ |
| uint32_t n_overflow; /**< Number of overflows */ |
| uint32_t n_underflow; /**< Number of underflows */ |
| uint32_t n_flush; /**< Number of times jitter buffer flushed */ |
| }; |
| |
| |
| int jbuf_alloc(struct jbuf **jbp, uint32_t min, uint32_t max); |
| int jbuf_put(struct jbuf *jb, const struct rtp_header *hdr, void *mem); |
| int jbuf_get(struct jbuf *jb, struct rtp_header *hdr, void **mem); |
| void jbuf_flush(struct jbuf *jb); |
| int jbuf_stats(const struct jbuf *jb, struct jbuf_stat *jstat); |
| int jbuf_debug(struct re_printf *pf, const struct jbuf *jb); |