goto end;
}
+ if (member->id == member->conference->last_video_floor_holder) {
+ if (conference_utils_member_test_flag(member, MFLAG_VIDEO_BRIDGE)) {
+ conference_utils_set_flag(member->conference, CFLAG_VID_FLOOR_LOCK);
+ }
+ }
+
layer = &canvas->layers[member->video_layer_id];
if (layer->geometry.audio_position) {
conference->last_video_floor_holder = conference->video_floor_holder;
}
- if (conference->last_video_floor_holder && (imember = conference_member_get(conference, conference->last_video_floor_holder))) {
- switch_core_session_request_video_refresh(imember->session);
- conference_video_clear_managed_kps(imember);
- if (conference_utils_member_test_flag(imember, MFLAG_VIDEO_BRIDGE)) {
- conference_utils_set_flag(conference, CFLAG_VID_FLOOR_LOCK);
- }
- switch_thread_rwlock_unlock(imember->rwlock);
- imember = NULL;
- }
-
old_member = conference->video_floor_holder;
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "Dropping video floor %d\n", old_member);
}