mpg123 logo
download : svn :: features :: sf.net project - bug tracker :: news archive
libmpg123 API :: testing :: benchmarking :: faq :: links :: contact

mpg123 - Fast console MPEG Audio Player and decoder library

mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1,2 and 3 (MPEG 1.0 layer 3 aka MP3 most commonly tested). Among others working with Linux, MacOSX, FreeBSD, SunOS4.1.3, Solaris 2.5, HPUX 9.x, SGI Irix and Cygwin or plain MS Windows.
It is free software licensed under LGPL 2.1 (the officially released sources, some files in subversion repository may differ).

Top News

2008-11-16 Thomas: Large File Fuss

I feel the need remind the world about the messy issue of large file support (sometimes called largefile support instead;-). There are certain systems (notably GNU/Linux and Solaris) that have chosen to make that a decision at build time with the type off_t sometimes being 32bit, sometimes 64bit. You can compile apps with or without large file support.

That means that you can have libraries for 64bit file offsets on your system and libraries for 32bit offsets. You can have applications (trying to) using libraries with a different file offset setting. That means one thing: Trouble! To prevent weird runtime errors or even crashes, I added some precautions to libmpg123, notably at build time, you could see such a message:

/usr/include/mpg123.h:37:2: error: #error "Mismatch in large file setup!

Also, at runtime, a 64bit offset libmpg123 will fail with a program that is not aware of this -- yielding unresolved symbols due to renaming the affected functions with a suffix indicating 64bits.

If you encounter this, please read up and think about that problem, and possibly complain to your OS distribution or the software project whose code is failing. Especially GNU/Linux distributions should be interested in making sure that they don't mix largefile builds with non-largefile code.

Update: See the FAQ.

For older news see the news archive

Needed computing power

A test (GNU/Linux OS) with 0.60-beta2 showed 3% to 4% CPU usage on decoding high quality VBR MP3 with a pentiumII laptop with 366MHz, while a pentium 100MHz can easily handle two mpg123 instances in realtime (plus the mixing daemon that works on decoded data).

Also, we have reports from such devices as nintendo DS or Sony PSP, or various embedded systems...

Michael said once upon a time

Plays Layer 3 in stereo on an AMD-486-120Mhz or (of course) a faster machine.

Just for info: mpg123 plays an average 128bps stream, with about 66% in full quality on an AMD 486-133MHz machine.