Concerning TODO item re-think parent-child connection, move to vf_vo2.c maybe
"Sascha Sommer" <[email protected]>
| Newsgroups | gmane.comp.video.mplayer.g2.devel |
|---|---|
| Message-ID | <016d01c3be57$e64946e0$566954d9@oemcomputer> |
Ok lets see what we have and what we need. As far as I know there are two kinds of vo modules. Exclusive and nonexclusive or windowed drivers. Exclusive drivers are fbdev, vesa, svga, dga etc. and the windowed x11, xv, directx, gl. Exclusive drivers are not really interesting for GUIs and their setup won't change. The image will always stay at the same position and will always have the same size. Their main advantage is to change resolution and depth. This is completely different for windowed drivers. Their image position and size will change but the screen setup won't. I think all of them need nothing more than a handle to the window in which they should display the window, it's x, y, width and height and the colorkey. Therefore I propose that the UI creates the windows for them and passes its parameters to the vo when they change. The control calls for this are already there: VOCTRL_SET_WINDOW VOCTRL_SET_COLORKEY VOCTRL_RESIZE_DEST But what about vidix and the kernel mode drivers like mga_vid and tdfx_vid? In G1 these can be used either as windowed drivers via [x/win]vidix or as subdriver of an exclusive driver like vo vesa. Using them as windowed drivers in G2 is no problem as vo xvidix's job is already done by the GUI. One would only need to adjust their api to match the libvo2 api. To avoid the code duplication when using them in exclusive mode as it exist in G1 I would propose to make a special video filter that opens two vos. It would open the exclusive driver and would call its preinit and config and maybe paint the background with the colorkey.As the next step it could open a child driver like vidix and configurate it for playback ontop of the exclusive driver. This would allow to use vidix and the kernel mode drivers toghether with exclusive vo drivers without adapting the later ones to support them. Feel free to comment. Sascha