about libvo... IMPORTANT
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
participants (2)
-
Arpi -
Fredrik Kuivinen