vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sat Feb 6 17:38:23 2021 +0200| [ba8632047c114083f1e4c77e1c5a3cbf2c65ef97] | committer: Rémi Denis-Courmont
vout: handle crop=0:0 case in parser ...and simplify accordingly. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ba8632047c114083f1e4c77e1c5a3cbf2c65ef97 --- src/video_output/video_output.c | 18 +++--------------- src/video_output/vout_intf.c | 8 +++++--- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 5d9502fed9..d04d3f4d11 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -637,16 +637,6 @@ void vout_ChangeDisplayAspectRatio(vout_thread_t *vout, vlc_mutex_unlock(&sys->display_lock); } -static void vout_SetCrop(vout_thread_sys_t *sys, - const struct vout_crop *restrict crop) -{ - sys->source.crop = *crop; - - if (crop->mode == VOUT_CROP_RATIO - && (crop->ratio.num == 0 || crop->ratio.den == 0)) - sys->source.crop.mode = VOUT_CROP_NONE; -} - void vout_ChangeCrop(vout_thread_t *vout, const struct vout_crop *restrict crop) { @@ -654,7 +644,7 @@ void vout_ChangeCrop(vout_thread_t *vout, assert(!sys->dummy); vlc_mutex_lock(&sys->window_lock); - vout_SetCrop(sys, crop); + sys->source.crop = *crop; vout_UpdateWindowSizeLocked(sys); vlc_mutex_lock(&sys->display_lock); @@ -2115,10 +2105,8 @@ static void vout_InitSource(vout_thread_sys_t *vout) char *psz_crop = var_InheritString(&vout->obj, "crop"); if (psz_crop) { - struct vout_crop crop; - - if (vout_ParseCrop(&crop, psz_crop)) - vout_SetCrop(vout, &crop); + if (!vout_ParseCrop(&vout->source.crop, psz_crop)) + vout->source.crop.mode = VOUT_CROP_NONE; free(psz_crop); } } diff --git a/src/video_output/vout_intf.c b/src/video_output/vout_intf.c index 1a20350527..0ed4f6bb87 100644 --- a/src/video_output/vout_intf.c +++ b/src/video_output/vout_intf.c @@ -452,7 +452,10 @@ exit: bool vout_ParseCrop(struct vout_crop *restrict cfg, const char *crop_str) { if (sscanf(crop_str, "%u:%u", &cfg->ratio.num, &cfg->ratio.den) == 2) { - cfg->mode = VOUT_CROP_RATIO; + if (cfg->ratio.num != 0 && cfg->ratio.den != 0) + cfg->mode = VOUT_CROP_RATIO; + else + cfg->mode = VOUT_CROP_NONE; } else if (sscanf(crop_str, "%ux%u+%u+%u", &cfg->window.width, &cfg->window.height, &cfg->window.x, &cfg->window.y) == 4) { @@ -462,8 +465,7 @@ bool vout_ParseCrop(struct vout_crop *restrict cfg, const char *crop_str) &cfg->border.right, &cfg->border.bottom) == 4) { cfg->mode = VOUT_CROP_BORDER; } else if (*crop_str == '\0') { - cfg->mode = VOUT_CROP_RATIO; - cfg->ratio.num = cfg->ratio.den = 0; + cfg->mode = VOUT_CROP_NONE; } else { return false; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
