[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