MT#55283 add config rtcp_interval used when generate-RTCP=on

closes 

Change-Id: I09722106d42e25f4befa953d374fa96c344322b7
pull/1770/head
Andrii Pogrebennyk 1 year ago committed by Richard Fuchs
parent cfa560c6b4
commit c75cffddcc

@ -920,7 +920,7 @@ static void __codec_rtcp_timer_schedule(struct call_media *media) {
rt->ct.timer_func = __rtcp_timer_run;
}
timeval_add_usec(&rt->ct.next, 5000000 + (ssl_random() % 2000000));
timeval_add_usec(&rt->ct.next, rtpe_config.rtcp_interval * 1000 + (ssl_random() % 1000000));
timerthread_obj_schedule_abs(&rt->ct.tt_obj, &rt->ct.next);
}
// no lock held
@ -939,7 +939,7 @@ static void __rtcp_timer_run(struct codec_timer *ct) {
rwlock_unlock_w(&rt->call->master_lock);
goto out;
}
timeval_add_usec(&ct->next, 5000000 + (ssl_random() % 2000000));
timeval_add_usec(&ct->next, rtpe_config.rtcp_interval * 1000 + (ssl_random() % 1000000));
__codec_rtcp_timer_schedule(media);
// switch locks to be more graceful

@ -644,6 +644,7 @@ static void options(int *argc, char ***argv) {
{ "socket-cpu-affinity",0,0,G_OPTION_ARG_INT, &rtpe_config.cpu_affinity,"CPU affinity for media sockets","INT"},
#endif
{ "janus-secret", 0,0, G_OPTION_ARG_STRING, &rtpe_config.janus_secret,"Admin secret for Janus protocol","STRING"},
{ "rtcp-interval", 0,0, G_OPTION_ARG_INT, &rtpe_config.rtcp_interval,"Delay in milliseconds between RTCP packets when generate-rtcp flag is on, where random dispersion < 1 sec is added on top","INT"},
{ NULL, }
};
@ -801,6 +802,9 @@ static void options(int *argc, char ***argv) {
if (rtpe_config.final_timeout <= 0)
rtpe_config.final_timeout = 0;
if (rtpe_config.rtcp_interval <= 0)
rtpe_config.rtcp_interval = 5000;
if (redisps)
if (redis_ep_parse(&rtpe_config.redis_ep, &rtpe_config.redis_db, &rtpe_config.redis_auth, "RTPENGINE_REDIS_AUTH_PW", redisps))
die("Invalid Redis endpoint [IP:PORT/INT] '%s' (--redis)", redisps);
@ -1085,6 +1089,7 @@ static void fill_initial_rtpe_cfg(struct rtpengine_config* ini_rtpe_cfg) {
ini_rtpe_cfg->jb_length = rtpe_config.jb_length;
ini_rtpe_cfg->jb_clock_drift = rtpe_config.jb_clock_drift;
ini_rtpe_cfg->rtcp_interval = rtpe_config.rtcp_interval;
rwlock_unlock_w(&rtpe_config.config_lock);
}

@ -179,6 +179,7 @@ struct rtpengine_config {
MOS_LQ,
} mos;
gboolean measure_rtp;
int rtcp_interval;
int cpu_affinity;
char *janus_secret;
};

Loading…
Cancel
Save