[MPlayer-G2-dev] Re: libvo2 api/design problem

D Richard Felker III dalias at aerifal.cx
Mon Jul 14 05:47:05 CEST 2003


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



More information about the MPlayer-G2-dev mailing list