diff options
author | Kevin Harwell <kharwell@digium.com> | 2018-03-29 15:19:17 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2018-03-29 15:19:17 -0500 |
commit | 48ef239a01a7b5cacea822cbc4800f640e2dfad1 (patch) | |
tree | 052ec970e8f307b19275792d8b2b716105237b59 /include | |
parent | d8a2ced3ad4c2484cb3146696ea6a7b8b36102ae (diff) | |
parent | e14b0e960d99aaf9c75b23814a1bef22ab2a53ff (diff) |
Merge "res_rtp_asterisk: Add support for raising additional RTCP messages."
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/frame.h | 2 | ||||
-rw-r--r-- | include/asterisk/rtp_engine.h | 26 |
2 files changed, 27 insertions, 1 deletions
diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h index eb6a6479a..c3c0f8817 100644 --- a/include/asterisk/frame.h +++ b/include/asterisk/frame.h @@ -127,7 +127,7 @@ enum ast_frame_type { * directly into bridges. */ AST_FRAME_BRIDGE_ACTION_SYNC, - /*! RTCP feedback */ + /*! RTCP feedback (the subclass will contain the payload type) */ AST_FRAME_RTCP, }; #define AST_FRAME_DTMF AST_FRAME_DTMF_END diff --git a/include/asterisk/rtp_engine.h b/include/asterisk/rtp_engine.h index 4e32d6b32..b552948d2 100644 --- a/include/asterisk/rtp_engine.h +++ b/include/asterisk/rtp_engine.h @@ -292,6 +292,14 @@ struct ast_rtp_payload_type { #define AST_RTP_RTCP_SR 200 /*! Receiver Report */ #define AST_RTP_RTCP_RR 201 +/*! Payload Specific Feed Back (From RFC4585 also RFC5104) */ +#define AST_RTP_RTCP_PSFB 206 + +/* Common RTCP feedback message types */ +/*! Full INTRA-frame Request (From RFC5104) */ +#define AST_RTP_RTCP_FMT_FIR 4 +/*! REMB Information (From draft-alvestrand-rmcat-remb-03) */ +#define AST_RTP_RTCP_FMT_REMB 15 /*! * \since 12 @@ -327,6 +335,24 @@ struct ast_rtp_rtcp_report { struct ast_rtp_rtcp_report_block *report_block[0]; }; +/*! + * \since 15.4.0 + * \brief A REMB feedback message (see draft-alvestrand-rmcat-remb-03 for details) */ +struct ast_rtp_rtcp_feedback_remb { + unsigned int br_exp; /*!< Exponential scaling of the mantissa for the maximum total media bit rate value */ + unsigned int br_mantissa; /*!< The mantissa of the maximum total media bit rate */ +}; + +/*! + * \since 15.4.0 + * \brief An object that represents data received in a feedback report */ +struct ast_rtp_rtcp_feedback { + unsigned int fmt; /*!< The feedback message type */ + union { + struct ast_rtp_rtcp_feedback_remb remb; /*!< REMB feedback information */ + }; +}; + /*! Structure that represents statistics from an RTP instance */ struct ast_rtp_instance_stats { /*! Number of packets transmitted */ |