[MPlayer-dev-eng] about libvo... IMPORTANT
Arpi
arpi at thot.banki.hu
Mon Mar 18 00:35:08 CET 2002
Dear libvo driver writers/maintainers! :)
I'm working on reviewing/redesigning flow of init/uninit processes.
In the current CVS, libvo->config() is called from libmpcodecs (from the
codec itself) instead of mplayer. It can be called more than once, it's
called whatever something (width/height/colorspace) changes.
So, the flow of libvo calls _NOW_:
1. preinit() - once before all other calls
2. control() calls, especialy query_format()
3. config() - 0, 1, 2 or more times called
4. control() calls - to tune runtime parameters, like fullscreen switch, or
to access get_image() for direct rendering
5. uninit()
So, every libvo driver HAVE TO:
- provide reliable informations on query_format after preinit
(especially for drivers which can only do it after (pre)initialization)
- allow uninit() without a single config() call
- allow more than one config() call without uninit & preinit between them
- allow repeat the above sequence, so after uninit it should allow preinit
again (required when user changes libvo driver on-the-fly)
please review drivers and fix them! most of them does sig11 in the above
cases.
they should also support these control() calls (if has any sense):
- get_image - provide buffer for direct rendering [optional]
- fullscreen switch [optional]
also review query_format(), it should return flags:
0x1 if colorspace supported
0x2 if colorspace supported without conversion (also set 0x1)
0x4 if it has OSD/SUB support
for details on flags see DOCS/tech/tech-eng.txt
A'rpi / Astral & ESP-team
--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu
More information about the MPlayer-dev-eng
mailing list