[MPlayer-dev-eng] GUI and vo_x11_create_vo_window()

Ingo Brückl ib at wupperonline.de
Fri Aug 19 00:08:31 CEST 2011


Reimar Döffinger wrote on Thu, 18 Aug 2011 23:39:21 +0200:

> I still do not see the difference in behaviour between the global
> fullscreen variable and messing with the flags.

> Not really, it goes through the fullscreen global variable first.
> And I don't see what you think the advantage of that flag manipulation
> is.

This is the flow:

config_video_out(...flags...)   <-flags already according to global fullscreen
    -> GUI_SETUP_VIDEO_WINDOW   <-currently no flags
    -> vo->config(...flags...)
        -> vo_x11_create_vo_window(...flags...)

If the global fullscreen variable is set, flags has VOFLAG_FULLSCREEN. If the
GUI decides to have a normal video window, the information is wrong. If flags
doesn't have VOFLAG_FULLSCREEN and the GUI has a fullscreen video window, the
aspect scaling is wrong. This is the reason why I want to correctly set/unset
VOFLAG_FULLSCREEN, because the GUI can't influence with the global fullscreen
variable at GUI_SETUP_VIDEO_WINDOW, because it is too late - the flags are
already determined.

> If you fix mp_property_fullscreen so it works properly (by also taking
> the fullscreen global into account) you can handle all cases with a
> single mp_input_queue_cmd(mp_input_parse_cmd(...)).

I'll have a look tomorrow, but in the meantime I really think that
gui(GUI_SETUP_VIDEO_WINDOW, &flags) isn't a hack, but a good idea,
because vo_x11_create_vo_window() at the end of the flow will get
the correct information about the window it has to "handle" then.

Ingo


More information about the MPlayer-dev-eng mailing list