From b4e0592e84e5501533210dde901e4bd292192c19 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 16 Nov 2016 16:36:55 -0600 Subject: [PATCH] FS-9742 --- .../mod_conference/conference_video.c | 30 +++++-------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/src/mod/applications/mod_conference/conference_video.c b/src/mod/applications/mod_conference/conference_video.c index 5cbbac7683..81ba6704ad 100644 --- a/src/mod/applications/mod_conference/conference_video.c +++ b/src/mod/applications/mod_conference/conference_video.c @@ -421,7 +421,7 @@ void conference_video_scale_and_patch(mcu_layer_t *layer, switch_image_t *ximg, if (layer->last_img_addr != img_addr && layer->geometry.zoom) { uint32_t new_w = 0, new_h = 0; - unsigned int cropsize = 0; + int cropsize = 0; double scale = 1; if (screen_aspect < img_aspect) { @@ -433,24 +433,17 @@ void conference_video_scale_and_patch(mcu_layer_t *layer, switch_image_t *ximg, new_w = (uint32_t)((double)layer->screen_w / scale); new_h = (uint32_t)((double)layer->screen_h / scale); - if (layer->bug_frame.geometry.x) { - if (layer->bug_frame.geometry.x < layer->bug_frame.geometry.w) { - cropsize = 1; - } else { - cropsize = layer->bug_frame.geometry.x - (new_w / 2); - if (cropsize > img->d_w - new_w) { - cropsize = img->d_w - new_w; - } - } + if (layer->bug_frame.geometry.w) { + cropsize = layer->bug_frame.geometry.x - (new_w / 2); } else { cropsize = (img->d_w - new_w) / 2; } if (cropsize < 1) { cropsize = 1; - } - - if (cropsize) { + } + + if (cropsize > 0) { switch_img_set_rect(img, cropsize, 0, new_w, new_h); img_aspect = (double) img->d_w / img->d_h; } @@ -466,14 +459,7 @@ void conference_video_scale_and_patch(mcu_layer_t *layer, switch_image_t *ximg, new_h = (uint32_t)((double)layer->screen_h / scale); if (layer->bug_frame.geometry.y) { - if (layer->bug_frame.geometry.y < layer->bug_frame.geometry.h) { - cropsize = 1; - } else { - cropsize = layer->bug_frame.geometry.y - (new_h / 2); - if (cropsize > img->d_h - new_h) { - cropsize = img->d_h - new_h; - } - } + cropsize = layer->bug_frame.geometry.y - (new_h / 2); } else { cropsize = (img->d_h - new_h) / 2; } @@ -482,7 +468,7 @@ void conference_video_scale_and_patch(mcu_layer_t *layer, switch_image_t *ximg, cropsize = 1; } - if (cropsize) { + if (cropsize > 0) { switch_img_set_rect(img, 0, cropsize, (unsigned int)(layer->screen_w/scale), (unsigned int)(layer->screen_h/scale)); img_aspect = (double) img->d_w / img->d_h; }