Merged revisions 135841,135847,135850 via svnmerge from
[asterisk/asterisk.git] / include / asterisk / abstract_jb.h
index 8f365a8..d884ce3 100644 (file)
 #ifndef _ABSTRACT_JB_H_
 #define _ABSTRACT_JB_H_
 
-#include <stdio.h>
 #include <sys/time.h>
 
 #if defined(__cplusplus) || defined(c_plusplus)
 extern "C" {
 #endif
 
-struct ast_channel;
 struct ast_frame;
 
-
 /* Configuration flags */
 enum {
        AST_JB_ENABLED = (1 << 0),
@@ -114,7 +111,8 @@ struct ast_jb
  * appropriate internal jb flags to the channels, determining further behaviour
  * of the bridged jitterbuffers.
  *
- * \return zero if there are no jitter buffers in use, non-zero if there are
+ * \retval zero if there are no jitter buffers in use
+ * \retval non-zero if there are
  */
 int ast_jb_do_usecheck(struct ast_channel *c0, struct ast_channel *c1);
 
@@ -137,7 +135,7 @@ int ast_jb_get_when_to_wakeup(struct ast_channel *c0, struct ast_channel *c1, in
 /*!
  * \brief Puts a frame into a channel jitterbuffer.
  * \param chan channel.
- * \param frame frame.
+ * \param f frame.
  *
  * Called from ast_generic_bridge() to put a frame into a channel's jitterbuffer.
  * The function will successfuly enqueue a frame if and only if:
@@ -151,7 +149,8 @@ int ast_jb_get_when_to_wakeup(struct ast_channel *c0, struct ast_channel *c1, in
  * Dropped by the jb implementation frames are considered successfuly enqueued as
  * far as they should not be delivered at all.
  *
- * \return zero if the frame was queued, -1 if not.
+ * \retval 0 if the frame was queued
+ * \retval -1 if not
  */
 int ast_jb_put(struct ast_channel *chan, struct ast_frame *f);
 
@@ -192,7 +191,7 @@ void ast_jb_destroy(struct ast_channel *chan);
  *
  * \return zero if the property was set to the configuration, -1 if not.
  */
-int ast_jb_read_conf(struct ast_jb_conf *conf, char *varname, char *value);
+int ast_jb_read_conf(struct ast_jb_conf *conf, const char *varname, const char *value);
 
 
 /*!
@@ -202,23 +201,23 @@ int ast_jb_read_conf(struct ast_jb_conf *conf, char *varname, char *value);
  *
  * Called from a channel driver when a channel is created and its jitterbuffer needs
  * to be configured.
- *
- * \retval 0 success
- * \retval -1 failure
  */
-int ast_jb_configure(struct ast_channel *chan, const struct ast_jb_conf *conf);
+void ast_jb_configure(struct ast_channel *chan, const struct ast_jb_conf *conf);
 
 
 /*!
  * \brief Copies a channel's jitterbuffer configuration.
  * \param chan channel.
  * \param conf destination.
- *
- * \retval 0 success
- * \retval -1 failure
  */
-int ast_jb_get_config(const struct ast_channel *chan, struct ast_jb_conf *conf);
+void ast_jb_get_config(const struct ast_channel *chan, struct ast_jb_conf *conf);
 
+/*!
+ * \brief drops all frames from a jitterbuffer and resets it
+ * \param c0 one channel of a bridge
+ * \param c1 the other channel of the bridge
+ */
+void ast_jb_empty_and_reset(struct ast_channel *c0, struct ast_channel *c1);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }