]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7513: trying to fix mutex
authorSeven Du <dujinfang@gmail.com>
Fri, 13 Feb 2015 10:51:34 +0000 (18:51 +0800)
committerMichael Jerris <mike@jerris.com>
Thu, 28 May 2015 17:47:01 +0000 (12:47 -0500)
src/mod/applications/mod_conference/mod_conference.c

index 1aed7b2c8d989e13823a1ee03b0b6da00f2504df..cf7a0cb6026cc702f701de8de0ec55d283014c13 100644 (file)
@@ -897,10 +897,13 @@ static void reset_layer(mcu_canvas_t *canvas, mcu_layer_t *layer)
 static void scale_and_patch(conference_obj_t *conference, mcu_layer_t *layer)
 {
        int ret;
-       switch_image_t *IMG = conference->canvas->img, *img = layer->cur_img;
+       switch_image_t *IMG, *img;
 
        switch_mutex_lock(conference->canvas->mutex);
 
+       IMG = conference->canvas->img;
+       img = layer->cur_img;
+
        if (layer->geometry.scale) {
                int img_w = 0, img_h = 0;
                double screen_aspect = 0, img_aspect = 0;
@@ -1200,6 +1203,7 @@ static switch_status_t attach_video_layer(conference_member_t *member, int idx)
 
 
        switch_color_set_rgb(&color, member->conference->video_layout_bgcolor);
+       switch_mutex_lock(member->conference->canvas->mutex);
        switch_img_fill(member->conference->canvas->img, layer->x_pos, layer->y_pos, layer->screen_w, layer->screen_h, &color);