Slackware 13.0 and older used mpg321 – Slackware 13.1 uses mpg123. That program fails in some circumstances. I use such command to convert MP3 files to WAV ones:
Code:
mpg123 -b 10000 -s -r 44100 -w - "$file" | \
sox -t wav -r 44100 -s -c2 - "${file%mp3}wav"
It works well with Slackware 13.0 and mpg321 but fails with Slackware 13.1 and mpg123:
Code:
[wav.c:371] warning: Cannot rewind WAV file. File-format isn't fully conform now.
[xfermem.c:248] error: failed to wait for free space
[mpg123.c:629] error: Deep trouble! Cannot flush to my output anymore!
Could not resync/reset buffers: No such process
To made it useful I had to remove mpg123 package and compile and install mpg321 one. The current version of that program is mpg321-0.2.11-3 (see:
here). To compile it it’s enough to grab and modify the original Slackware 13.0 SlackBuild and slack-desc (see:
here). Before compiling mpg321 I had to compile and install the newer version of libao. Slackware 13.1 uses libao-0.8.8 – mpg321-0.2.11-3 demands libao-1.0.0 (see:
here for the source and
here for SlackBuild and slack-desc).
Then I had to compile sox (see:
here and
here) because it depends on the installed version of libao.
Some other programs, such as Timidity++, depend on libao as well and have to be compiled and installed anew after changing the version of libao library.
***
Instead of replace libao and all related programs with the newer versions it’s easier to downgrade to older version of mpg321 (see:
here)
***
Unstable Music on Console from SlackBuild.org (moc-2.5.0-alpha4) aborts on some MP3 files. I didn’t find any cause of that failures. The only rule I was able to observe is if moc fails on some track from the selected album it’ll probably fail on all tracks.
So I replaced unstable moc-2.5.0-alpha4 with stable moc-2.4.4 and now it works well.