diff options
author | Joshua Colp <jcolp@digium.com> | 2018-04-05 23:48:31 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2018-04-05 17:49:29 -0600 |
commit | 8a602f18db745802a6aa426486b935e94a3e1ab9 (patch) | |
tree | a2b15eb8c1808d1c040add9dbf1c1e3562403d53 | |
parent | edba638a729e8363a07f373006c250e66f353d82 (diff) |
res_rtp_asterisk: Queue video update on picture loss indication.
The previous payload specific feedback handling was very single
minded in that it just assumed everything should trigger a video
update. This was changed but the handling of picture loss indication
was not added. The result was that video may not flow. This change
adds it explicitly in.
Change-Id: I1894be02e39ee10a0af841b5a1dca5f0ec7d60b6
-rw-r--r-- | include/asterisk/rtp_engine.h | 2 | ||||
-rw-r--r-- | res/res_rtp_asterisk.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/asterisk/rtp_engine.h b/include/asterisk/rtp_engine.h index b552948d2..8f044ce17 100644 --- a/include/asterisk/rtp_engine.h +++ b/include/asterisk/rtp_engine.h @@ -296,6 +296,8 @@ struct ast_rtp_payload_type { #define AST_RTP_RTCP_PSFB 206 /* Common RTCP feedback message types */ +/*! Picture loss indication (From RFC4585) */ +#define AST_RTP_RTCP_FMT_PLI 1 /*! Full INTRA-frame Request (From RFC5104) */ #define AST_RTP_RTCP_FMT_FIR 4 /*! REMB Information (From draft-alvestrand-rmcat-remb-03) */ diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index b010f6c51..c87e6fb77 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -5525,10 +5525,11 @@ static struct ast_frame *ast_rtcp_interpret(struct ast_rtp_instance *instance, c f = &transport_rtp->f; break; case RTCP_PT_FUR: - /* Handle RTCP FUR as FIR by setting the format to 4 */ + /* Handle RTCP FUR as FIR by setting the format to 4 */ rc = AST_RTP_RTCP_FMT_FIR; case RTCP_PT_PSFB: switch (rc) { + case AST_RTP_RTCP_FMT_PLI: case AST_RTP_RTCP_FMT_FIR: if (rtcp_debug_test_addr(addr)) { ast_verbose("Received an RTCP Fast Update Request\n"); |