Squashed 'third_party/rawrtc/re/' content from commit f3163ce8b
Change-Id: I6a235e6ac0f03269d951026f9d195da05c40fdab
git-subtree-dir: third_party/rawrtc/re
git-subtree-split: f3163ce8b526a13b35ef71ce4dd6f43585064d8a
diff --git a/include/re_jbuf.h b/include/re_jbuf.h
new file mode 100644
index 0000000..a99ae2f
--- /dev/null
+++ b/include/re_jbuf.h
@@ -0,0 +1,28 @@
+/**
+ * @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);