mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-13 12:40:17 +00:00
FS-11031: [mod_conference] refresh and keyframes sent too often in multi-canvas mode #resolve
This commit is contained in:
parent
dd90763371
commit
0071435757
@ -2667,10 +2667,25 @@ switch_status_t conference_video_find_layer(conference_obj_t *conference, mcu_ca
|
|||||||
|
|
||||||
void conference_video_next_canvas(conference_member_t *imember)
|
void conference_video_next_canvas(conference_member_t *imember)
|
||||||
{
|
{
|
||||||
if (imember->canvas_id == (int)imember->conference->canvas_count - 1) {
|
int x = 0, y = 0;
|
||||||
imember->canvas_id = 0;
|
|
||||||
} else {
|
if (imember->conference->canvas_count < 2) {
|
||||||
imember->canvas_id++;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
y = imember->canvas_id;
|
||||||
|
|
||||||
|
for (x = 0; x < imember->conference->canvas_count; x++) {
|
||||||
|
if (y == (int)imember->conference->canvas_count - 1) {
|
||||||
|
y = 0;
|
||||||
|
} else {
|
||||||
|
y++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (imember->conference->canvases[y]->video_count < imember->conference->canvases[y]->total_layers) {
|
||||||
|
imember->canvas_id = y;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
imember->layer_timeout = DEFAULT_LAYER_TIMEOUT;
|
imember->layer_timeout = DEFAULT_LAYER_TIMEOUT;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user