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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.