[MPlayer-G2-dev] [PATCH] Fullscreen issues - g2 is great :-)
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