[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