[vlc-devel] [PATCH 09/48] video_output: pass the video format to vout_SizeWindow()

Steve Lhomme robux4 at ycbcr.xyz
Wed Oct 16 16:21:05 CEST 2019


On 2019-10-12 14:52, Rémi Denis-Courmont wrote:
> Le lauantaina 12. lokakuuta 2019, 14.42.49 EEST Rémi Denis-Courmont a écrit :
>> Le perjantaina 11. lokakuuta 2019, 16.33.23 EEST Steve Lhomme a écrit :
>>> This will be needed when the GetDevice call will create a window without
>>> setting the sys->original which is only related to the display module.
>>
>> This is wrong as pointed out in previous iteration.
> 
> Well it's not so much wrong as bizarre. We  cannot enable a window without a
> size, so we need an original format to enable the window. Ditto whenever we
> force a resize due to user changing A/R, crop or zoom.
> 
> And I don't see how the original format used to compute the ideal size of the
> window can differ from the current video ES format. AFAICT they are either the
> same, or the vout display does not exist, and we can use original to store the
> window sizing format.

The problem is that sys->original is used to tell whether the display 
module format has changed or not. When the window is enabled separately 
from the display we can't set sys->original, otherwise the 
vout_Request() call to create the display will consider the format 
didn't change and nothing needs to be done.

Right now it works because the format is cleaned (all 0) on init of the 
display or cleaned after the display module is gone. This could be 
changed but IMO we should keep this value tied to the display and not 
store it for the window as well. It makes things more intricate for no 
reason.


More information about the vlc-devel mailing list