mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-24 14:56:58 +00:00
Merge "media: Add experimental support for RTCP feedback."
This commit is contained in:
@@ -127,6 +127,8 @@ enum ast_frame_type {
|
||||
* directly into bridges.
|
||||
*/
|
||||
AST_FRAME_BRIDGE_ACTION_SYNC,
|
||||
/*! RTCP feedback */
|
||||
AST_FRAME_RTCP,
|
||||
};
|
||||
#define AST_FRAME_DTMF AST_FRAME_DTMF_END
|
||||
|
||||
|
@@ -121,7 +121,7 @@ enum ast_trans_cost_table {
|
||||
*
|
||||
* As a minimum, a translator should supply name, srcfmt and dstfmt,
|
||||
* the required buf_size (in bytes) and buffer_samples (in samples),
|
||||
* and a few callbacks (framein, frameout, sample).
|
||||
* and a few callbacks (framein, frameout, feedback, sample).
|
||||
* The outbuf is automatically prepended by AST_FRIENDLY_OFFSET
|
||||
* spare bytes so generic routines can place data in there.
|
||||
*
|
||||
@@ -159,6 +159,10 @@ struct ast_translator {
|
||||
/*!< Output frame callback. Generate a frame
|
||||
* with outbuf content. */
|
||||
|
||||
void (*feedback)(struct ast_trans_pvt *pvt, struct ast_frame *feedback);
|
||||
/*!< Feedback frame callback. Handle
|
||||
* input frame. */
|
||||
|
||||
void (*destroy)(struct ast_trans_pvt *pvt);
|
||||
/*!< cleanup private data, if needed
|
||||
* (often unnecessary). */
|
||||
@@ -316,7 +320,9 @@ void ast_translator_free_path(struct ast_trans_pvt *tr);
|
||||
/*!
|
||||
* \brief translates one or more frames
|
||||
* Apply an input frame into the translator and receive zero or one output frames. Consume
|
||||
* determines whether the original frame should be freed
|
||||
* determines whether the original frame should be freed. In case the frame type is
|
||||
* AST_FRAME_RTCP, the frame is not translated but passed to the translator codecs
|
||||
* via the feedback callback, and a pointer to ast_null_frame is returned after that.
|
||||
* \param path tr translator structure to use for translation
|
||||
* \param f frame to translate
|
||||
* \param consume Whether or not to free the original frame
|
||||
|
Reference in New Issue
Block a user