]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-10571: [mod_conference,RTP] TMMBR messages request the same size for any user...
authorAnthony Minessale <anthm@freeswitch.org>
Mon, 21 Aug 2017 17:37:03 +0000 (12:37 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Mon, 21 Aug 2017 17:37:03 +0000 (12:37 -0500)
src/mod/applications/mod_conference/conference_video.c
src/mod/applications/mod_conference/mod_conference.c

index 42830624a18d0d11f4bdc8b427131decd8a6c5ee..97fdce3266f82327339fddae501807e3db6d6eb7 100644 (file)
@@ -2697,18 +2697,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;
 
 }
@@ -2807,8 +2815,8 @@ 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;
 
index af6ab7c57f0f734e58547a5602c92e7f7701c857..967faa5c7d7bcef674c98c2c955e5041a10ea792 100644 (file)
@@ -2650,7 +2650,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;