[vlc-devel] [PATCH 2/7] video_output: don't apply the source aspect ratio as a cropping ratio
Steve Lhomme
robux4 at ycbcr.xyz
Tue Sep 1 16:15:31 CEST 2020
On 2020-09-01 16:00, Rémi Denis-Courmont wrote:
> Le tiistaina 1. syyskuuta 2020, 13.06.33 EEST Steve Lhomme a écrit :
>> The value read for VOUT_CROP_RATIO should be applied to
>> vout_SetDisplayCrop() not the source aspect ratio.
>>
>> vout_SetDisplayAspect() always used "source.dar".
>>
>> Regression introduced in 4563df98a188f4276d2529484d1b3f3dafb9182b
>> ---
>> src/video_output/video_output.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/video_output/video_output.c
>> b/src/video_output/video_output.c index 49a1e9653ad..5149059d2b4 100644
>> --- a/src/video_output/video_output.c
>> +++ b/src/video_output/video_output.c
>> @@ -1760,8 +1760,6 @@ static int vout_Start(vout_thread_sys_t *vout,
>> vlc_video_context *vctx, const vo break;
>> }
>>
>> - num = sys->source.dar.num;
>> - den = sys->source.dar.den;
>> vlc_mutex_lock(&sys->display_lock);
>> vlc_mutex_unlock(&sys->window_lock);
>>
>> @@ -1778,6 +1776,8 @@ static int vout_Start(vout_thread_sys_t *vout,
>> vlc_video_context *vctx, const vo
>>
>> vout_SetDisplayCrop(sys->display, num, den, x, y, w, h);
>>
>> + num = sys->source.dar.num;
>> + den = sys->source.dar.den;
>
> AFACIT, this patch is replacing a variable aliasing problem with a thread
> safety problem :/
Thomas noticed that num/den is possibly used uninitialized in
vout_SetDisplayCrop(). So there's that to fix.
I'll make a cleaner version.
More information about the vlc-devel
mailing list