From: Anthony Minessale Date: Mon, 21 Aug 2017 17:37:03 +0000 (-0500) Subject: FS-10571: [mod_conference,RTP] TMMBR messages request the same size for any user... X-Git-Tag: v1.6.20~16 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=afc16e5bce8e3ec1ebd9c1904bb34680d713b623;p=thirdparty%2Ffreeswitch.git FS-10571: [mod_conference,RTP] TMMBR messages request the same size for any user layout size when manage-inbound-video-bitrate enabled --- diff --git a/src/mod/applications/mod_conference/conference_video.c b/src/mod/applications/mod_conference/conference_video.c index fc7e8d5613..389bee709d 100644 --- a/src/mod/applications/mod_conference/conference_video.c +++ b/src/mod/applications/mod_conference/conference_video.c @@ -2144,18 +2144,26 @@ void conference_video_set_incoming_bitrate(conference_member_t *member, int kps, member->auto_kps_debounce_ticks = member->conference->auto_kps_debounce / member->conference->video_fps.ms; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "%s setting bitrate debounce timer to %dms\n", switch_channel_get_name(member->channel), member->conference->auto_kps_debounce); + member->managed_kps = kps; member->managed_kps_set = 0; return; } + if (member->managed_kps_set == kps) { + return; + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "%s sending message to set bitrate to %dkps\n", + switch_channel_get_name(member->channel), kps); + msg.message_id = SWITCH_MESSAGE_INDICATE_BITRATE_REQ; msg.numeric_arg = kps * 1024; msg.from = __FILE__; switch_core_session_receive_message(member->session, &msg); - member->managed_kps_set = 1; + member->managed_kps_set = kps; member->managed_kps = kps; } @@ -2254,9 +2262,9 @@ void conference_video_check_auto_bitrate(conference_member_t *member, mcu_layer_ kps = kps_in; } - min_layer = kps / 2; - min = kps_in / 2; - + min_layer = kps / 8; + min = kps_in / 8; + if (min_layer > min) min = min_layer; if (member->conference->max_bw_in) { diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 2686b2a53b..7e521ac34d 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -2439,7 +2439,7 @@ conference_obj_t *conference_new(char *name, conference_xml_cfg_t cfg, switch_co char *video_mute_banner = NULL; conference_video_mode_t conference_video_mode = CONF_VIDEO_MODE_PASSTHROUGH; int conference_video_quality = 1; - int auto_kps_debounce = 30000; + int auto_kps_debounce = 5000; float fps = 30.0f; uint32_t max_members = 0; uint32_t announce_count = 0;