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;
}
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;
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;