]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-10017: [freeswitch-core] add rtp_nack_buffer_size #resolve
authorAnthony Minessale <anthm@freeswitch.org>
Tue, 7 Feb 2017 20:32:01 +0000 (14:32 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Tue, 7 Feb 2017 20:32:01 +0000 (14:32 -0600)
src/switch_rtp.c

index ab015251b6f95cf2ed0f2515f0400ea8f28bcf71..e9270cc4cc3e69373540b0cb7e9811571f2c075e 100644 (file)
@@ -7913,8 +7913,20 @@ static int rtp_common_write(switch_rtp_t *rtp_session,
                }
                
                if (rtp_session->flags[SWITCH_RTP_FLAG_NACK]) {
+                       switch_channel_t *channel = switch_core_session_get_channel(rtp_session->session);
+                       int nack_size = 100;
+                       const char *var;
+
+                       if ((var = switch_channel_get_variable(channel, "rtp_nack_buffer_size"))) {
+                               int tmp = atoi(var);
+
+                               if (tmp > 0 && tmp < 500) {
+                                       nack_size = tmp;
+                               }
+                       }
+
                        if (!rtp_session->vbw) {
-                               switch_jb_create(&rtp_session->vbw, SJB_VIDEO, 30, 30, rtp_session->pool);
+                               switch_jb_create(&rtp_session->vbw, SJB_VIDEO, nack_size, nack_size, rtp_session->pool);
                                if (rtp_session->vbw) {
                                        switch_jb_set_flag(rtp_session->vbw, SJB_QUEUE_ONLY);
                                        //switch_jb_debug_level(rtp_session->vbw, 10);