[MPlayer-G2-dev] [PATCH] Fullscreen issues - g2 is great :-)

Arpi arpi at thot.banki.hu
Sun Aug 17 22:19:04 CEST 2003


> I wanted to gain some experience in the field of fullscreen :-). (And g1 was 
> sooooooooo slow in compiling that it was a pain to develop in it :)) )


> So I started with g2 and it was astounishingly easy ... :)
> I create a second window on the fly if fullscreen, which I hacked in as I 
> couldn't find the function, where events are parsed, is selected ...
> This window still needs to be removed of any decorations and so on, but one 
> can guess what it will look like ...
> For that I had to "port" the aspect-code (copy & paste, and comment something 
> out) ...


> That however gives some questions:
> - - Are two static variables that are global ok for the fullscreen and 
> backup-window ? (only x11_helper.c affected)
> - - How can vo_xv, vo_x11 give the aspect code the correct screensize 
> (vo_screenwidth, vo_screenheight) if it does not know about it ... 

the aspect thing should be handled by the vf layer. not vo.
(since filters may resize/scale/rotate the image etc)
the vo drivers should only export (in vo struct) the screen size and aspect.
(this part still missing, patch welcomed)

>   -> The same goes for centering the picture (btw. I think this should go to 
> aspect.c as it always the same and aspect.c renamed to helper or tools or 
> similar ...)
>   Of course, x11_helper.c could include aspect.h and set the aspect, when it 
> knows about  screenwidth, screenheight, but this gives the problems that 
> gui-programmers NEED to do the same ... Which is bad, as they could get 
> undesired behaviour and for fullscreen and don't know why ...
> Also for fullscreen I'm not satisfied with this code in x11_helper.c, as 
> perhaps it would be nice to have this functions available for gui, but I 
> dunno ... Should guis also use the helper-code ?

Imho not. AT least in g1, gui had its own control of vo window, instead of
using x11_common.c functions. I thought that in g2 I let the UI to handle
the windows, but i provide a default/fallback implementation in x11_util

If gui coders says they want to use those funcs, then we can re-thing the

> I added screenwidth,height as global (I know its ugly) variables for now ...


> - - vo_x11 is always fullscreened to the widht, height, the window had ...
>   Why is the RESIZE_CODE uncommented, it would be easier if it was handled 
> that way ... In fullscreen resize-commands are ignored ... :)


resizing is handled by vf layer, ecept when the vo driver support some kind
of external (ie not swscaler) rescaling, in sdl or hardware.

>  Btw. thanks for adding fullscreen flag to vo_instance_s :)).
> - - zoom parameter not yet accepted by vo_x11 (as there is no wide-used config 
> layer yet )
> So, I really like the new clean design ...
> Its really nice, with alle the events and callbacks handled nice and allowing 
> finally to communicate with vo->layer :).

you should read libvo2.txt before hack in more globals ;)

A'rpi / Astral & ESP-team

Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu
[Using mailer3 v3.99pre3-CVS beta GSM edition, broken Date: feature enabled]

More information about the MPlayer-G2-dev mailing list