Re: Re: libvo2 api/design problem
D Richard Felker III <[email protected]>
| Newsgroups | gmane.comp.video.mplayer.g2.devel |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Jul 12, 2003 at 07:16:30PM +0200, Arpi wrote: > Hi, > > > > > I'd prefere #1, but would extend the vo_info_t structure by > > > > a special requirements field and put there a VO_NEED_X11 or something > > > > like that. > > > > > > Me too. > > Ok i've extended the module_info_t wtsurtc with a flags field, low 16 > bit is generic, upper 16 bits are module type dependant. > > > I'd like to see smthg like VO_X11_CAPS wich mean that the vo can > > optionaly use a provided window (like tdfx_vid, mga?, etc). > > These won't fail if a window isn't avaible. > > Are there any vo driver which may work with and without X11 ? > (assuming we're implementing parent-child system for overlays like > mga or tdfx_vid to work with x11, fbdev, vesa etc) > > I guess no, so i left ot out for now. > My idea for the vo2 module capabilities flags: > > //****** vo2 specific module_info_t flags: ******** > // module can work as parent for other sub-vo module (xover, vesa, fbdev...) > #define VO_MODULE_CAPS_PARENT 0x10000 > // module can work as child or other parent module > // NOTE: when both PARENT and CHILD caps set, it means: the module can work > // as parent but can host itself as child, but cannot work as child of other vo > #define VO_MODULE_CAPS_CHILD 0x20000 > // module requires X11 connection (as parameter in preinit()) > #define VO_MODULE_CAPS_X11 0x40000 > // module renders into a window > // NOTE: if both X11 and WINDOW caps set: it requires an X11 window via control > #define VO_MODULE_CAPS_WINDOW 0x80000 > > some example of flags: > > sdl,directx: WINDOW (it has self-managed window) > mga,tdfx_vid,vidix: CHILD (can work as child) > xover: PARENT+X11+WINDOW (can only work as parent, requires x11 and window) > fbdev,vesa: PARENT+CHILD (can work as parent for overlays, or run alone) > xv,gl: X11+WINDOW (requires X11 and window, but cannot work as parent) > > did i miss sth? Yes, mga does not need a parent... This is especially an issue if the fbdev parent does something idiotic like clearing the background, changing video mode, capturing tty and switching it to 'graphics mode' if it's a vc, etc... Rich