From c52969fcf9ad266dd6467a8782312c458b6e5ddb Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 19 Aug 2015 13:14:24 -0500 Subject: [PATCH] FS-8004 #resolve [Send keyframe on recv nack with multiples] --- src/switch_rtp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 9e427dc821..fc14807608 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -5570,6 +5570,8 @@ static void handle_nack(switch_rtp_t *rtp_session, uint32_t nack) for (i = 0; i < 16; i++) { if (blp & (1 << i)) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG1, "Also Got NACK for seq %u\n", ntohs(seq) + i + 1); + /* If they are missing more than one, may as well gen a key frame for good measure */ + switch_core_media_gen_key_frame(rtp_session->session); if (switch_vb_get_packet_by_seq(rtp_session->vbw, htons(ntohs(seq) + i + 1), (switch_rtp_packet_t *) &send_msg, &bytes) == SWITCH_STATUS_SUCCESS) { if (rtp_session->flags[SWITCH_RTP_FLAG_DEBUG_RTP_WRITE]) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG_CLEAN(rtp_session->session), SWITCH_LOG_CONSOLE,