[MPlayer-dev-eng] MPlayer G2

Arpi arpi at thot.banki.hu
Mon Mar 31 00:22:47 CEST 2003


Hi,

As I promised when I announced my leaving of the project maintainership,
I started some new video player project (nearly) from scratch.
For now I call it MPlayer G2 (as generation 2).

Don't think of char-by-char rewrite, I'm trying to reuse as many as possible
from the current mplayer, but I want to cleanup code and do some radical
changes so this is much easier than hacking the CVS.

My time plan:
1. Building the stream layer library, based on mplayer's libmpdemux.
   I'm over it partially, see here:
       mplayerhq.hu/~arpi/mplayer-G2-preview1.tar.gz
   I need to port the rest of the drivers (like smb://, mms/mst/pnm
   streaming, cdda/cddb) but it's usable for reading file, fifo, vcd, dvd,
   and http. Adding new protocols is very easy, opposed to the old code.
2. Building the demuxer layer. It's a bit harder, as I want to add multiple
   (more than one video/audio) stream demuxing support, and also modularize
   the code. I'll also add runtime index buliding for backward seeking and
   support for forward seek without index. I'll also make subtitle streams
   able to handle ascii subs, vobsubs, closed captions etc.
3. Move libmpcodecs (and libavcodec, libmpeg2, liba52, libaf)
4. Make some minimal libao/libvo using the new API (tech/libvo.txt).
   I don't want to port/move all vo (ao) drivers, just a few what I can test
   and understand. Others may be ported later by other developers.
5. Implement libmplayer, a core engine for video playback.

I don't plan (and don't want) to include any UI (including commandline one)
in this project. No libinput, no playtree, no configfile parsing, no OSD
control (but osd object renderer and subtitle parsers will be there).
I want to separate the player core completely from the UI.
And I also want to separate the sub-modules (like stream, demuxer, codecs)
from each other as possible, to be usable for other programs, and to be
testable without the rest.

Why? Good question. I won't (and really can't) answer.

Don't worry, it is not a fork, it is not an alternative of mplayer (yet).
It's a (very)long-term thing i plan to do since a long time ago.
It may be the base of mplayer v2.0 once (but you'll make 1.0 for sure before
this is getting usable)

Another possibility is integrating cleanup'ed parts into the mplayer 'main'
tree, so they will be usable (and will be tested) before mpG2 is ready for use.

If anyone interested in developing this "project", tell me, i'll put the
stuff into CVS then.


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