madplay.tar.gz (417kb) Note that this is a tar of /usr/local with libmad, libid3tag and madplay installed by running “make install” on each.

This is a much more suitable player, as the decoder is implimented in pure integer math. Even better, there's a hand-coded ARM assembly module.

The downside is that there are two dependancies for the player, libmad (which is the decoder library itself) and libid3tag. Fortunately, both libraries compiled cleanly.

madplay itself was more difficult, as it required aclocal as part of the compile process. Adding all the perl modules for aclocal was a very long process of running make, having it fail due to a missing Perl module, installing the module, and re-running make.

Eventually all the modules were installed and the compile completed.

A sample run of madplay is shown below:

root@slug:~/source/madplay-0.15.2b# ./madplay -v various-montego_bay.mp3    
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
        Title: montego bay
       Artist: various
        Album: sun, fun & music
        Track: 6
output: sample frequency 44100 Hz not available; using 48000 Hz
output: resampling 44100 Hz to 48000 Hz
 00:02:52 Layer III, 192 kbps, 44100 Hz, stereo, no CRC
6598 frames decoded (0:02:52.3), +0.4 dB peak amplitude, 2 clipped samples

While playing, madplay uses 14% to 16% CPU. Memory usage starts at about 856kb, but increases as the file is played by 120kb every 5 seconds. It appears that the file read buffer is not being freed as the extra size is the size of the file being played and drops as each file is closed and the next one is started.

Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki