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);