FS-8615 #resolve [Crash when quickly changing layouts and setting reservation ids.]

This commit is contained in:
Anthony Minessale 2015-12-04 13:07:50 -06:00 committed by Brian West
parent f0d5027111
commit 28bd6e2e38
2 changed files with 8 additions and 4 deletions

View File

@ -1583,10 +1583,9 @@ switch_status_t conference_api_sub_vid_res_id(conference_member_t *member, switc
} else {
member->video_reservation_id = switch_core_strdup(member->pool, text);
stream->write_function(stream, "+OK reservation_id %s\n", text);
conference_video_detach_video_layer(member);
}
conference_video_detach_video_layer(member);
return SWITCH_STATUS_SUCCESS;
}

View File

@ -615,14 +615,19 @@ void conference_video_detach_video_layer(conference_member_t *member)
mcu_layer_t *layer = NULL;
mcu_canvas_t *canvas = NULL;
if (member->canvas_id < 0 || member->video_layer_id < 0) return;
if (member->canvas_id < 0) return;
if (!(canvas = conference_video_get_canvas_locked(member))) {
return;
}
switch_mutex_lock(canvas->mutex);
if (member->video_layer_id < 0) {
switch_mutex_unlock(canvas->mutex);
return;
}
layer = &canvas->layers[member->video_layer_id];
if (layer->geometry.audio_position) {