[MPlayer-dev-eng] Re: [PATCH] don't skip first mp3 frame

Arpi arpi at thot.banki.hu
Thu Mar 25 00:38:50 CET 2004


> > I'm really curious: how does mpg123 handle such files??? It's the same
> > code as mp3lib, right?

mp3lib is somewhat mplayer-unique.
it was hacked together by me very long time (>5years) ago, short history:
1. mpg123 (some quite old version, from around 1996-98)
2. tsr mp3 decoder "driver" for my resident DOS mp3 player (see esp-team)
   based on layer3.c (and friends) from mpg123 and some mp3 parser written
   by me, based on mpg123 code and mpegaudio docsand r.e. of mp3 files
3. my decoder stuff ported (back) to linux and made win32 version, for use
   in astral demo engine (see astral), called mp3lib from now
   interesting that libao and linux/ dir (currently osdep/, including
   timer-lx.c (there was timer-win.c too) has born there, and was re-used
   for mpg12play/mplayer 0.1 later :)
4. 3pm has born, it's my very old linux mp3 player, similar to mpg123
   but had interactive console control, based on mp3lib. (see esp-team)
   it also uses getch2(), which was originally written for gys-mailer3,
   my console MUA and is still being used in mplayer too :)
5. mpg12play (later called mplayer) has born, reusing parts from the
   above stuff, like mp3lib, libao, getch2, etc. mixed with mpeg2dec's
   libvo and libmpeg2, later loader/ from xmps' avifile added.
6. some parts of mp3lib rewritten/fixed/updated_from_mpg123 later in
   mplayer cvs

ppl used to confuse 'mp3lib' with 'mpglib' shipped with newer mpg123 versions.
it's not the same.

ah, and yet another note:
mp3lib is actually based on mpg123, but later when mpg123 changed license,
we changed AUTHORS and copyright info as mp3lib is based on mpglib which
had better license (dont remember well, something with gpl vs lgpl maybe)
(actually when mp3lib was written, mpglib did not yet exists...)
it is true anyway, as the files/code used from mpg123 in mp3lib also
exists in mpglib, so it doesnt really matter from which dir i copy them :)
(it was one of the first steps making mplayer to be gpl :))

ok, this was the "short" story of mp3lib :)

> i don't have mpg123 here. I uploaded a sample (broken-first-frame.mp3)
> if you want to check. xmms (wich use mp3lib i think) play it fine,
> mpg321 too (dunno, what this one is using).

i doubt that xmms has any relation to mpg123/mpglib, afaik they used
some own mp3 decoder, they was very proud to its great speed compared
to mpg123 for years. (but actually it could not be measured, as xmms
was threaded and top shown 0% for all of its processes even when they
ate all of the cpu)

mpg321 is the test-application for libmad, so it uses libmad of course.
(it was made to be mpg123-compatible mpg123 alternative)

A'rpi / Astral & ESP-team

Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu

More information about the MPlayer-dev-eng mailing list