[vlc-devel] Detecting fullscreen under X on linux? (for MMAL vout)

John Cox jc at kynesim.co.uk
Thu Jul 12 18:01:18 CEST 2018


>	Hello,
>Le torstaina 12. heinäkuuta 2018, 13.51.01 EEST John Cox a écrit :
>> As it stands, opening the module is gated by vout_display_IsWindowed(vd)
>> which always (at least as far as I've been able to detect) returns true
>> when launched from X no matter whether or not there are fullscreen
>> requests on the command line.
>vout_display_IsWindowed() indicates whether the video is to be rendered within 
>a provided window, or not. This has nothing to do with fullscreen state.
>> Given that, what would be the approved method of detecting a
>> fullscreen request so output can be routed via the mmal vout rather than
>> the X vout?
>Plain and simple: There are no ways to do that with X11.
>The X11 protocols does not expose that information to clients. You can track 
>the fullscreen status of the window with X11 events, but a window may well be 
>fullscreen and yet invisible, or under other windows. You can also track 
>visibility, but the reported value is typically a lie by the compositor.
>Maybe the rPI X server has an extension devised for this. But otherwise, there 
>are no methods, let alone approved methods.

Fair enough - let me rephrase the question - is there any way in the
vout module to know if the user has requested fullscreen from VLC,
either with the -f flag on the command line or by some other method?

The mmal vout module bypasses the whole of X and will overlay on top of
whatever X is trying to display (via a separate video plane) and so is
appropriate for use if the user wants fullscreen video, but not


John Cox

More information about the vlc-devel mailing list