[Apologies, this has turned into a bit of a ramble! I am a newbie.]
I have been having problems playing some MP3 files with “plaympeg.exe”.
The audio contains clicks and dropouts which are particularly noticable
on headphones.
I originally used the current binaries of SDL.DLL (1.2.0) and
SMPEG.DLL (0.4.3) and used Microsoft Visual C++ 6.0 SP3 to compile
"plaympeg.exe".
The MP3 files in question are supplied with the DX8 SDK from MS
and (if you have the CD) are in the “dxf/samples/multimedia/media” folder.
“track3.mp3” MPEG-2 Layer3 56K 22050 Stereo <- Most noticable here
"track2.mp3" MPEG-2 Layer3 56K 22050 Stereo
"track1.mp3" MPEG-2 Layer3 56K 22050 Stereo
“piano.mp3” MPEG-1 layer3 128K 44100 stereo<- these two sound ok
"piano2.mp3" MPEG-1 layer3 128K 44100 stereo
http://www.johnnypops.demon.co.uk/highbias/isit.mp3 (1.25M) and
http://www.johnnypops.demon.co.uk/thedoorz/roadhouse_blues.mp3 (1.7M)
These are : MPEG-1 layer3 128K 44100 stereo but have severe clicks.
With some effort, I managed to compile everything from the sources with VC.
After fixing the “Segmentation Fault” produced when the filename isn’t
valid and sorting out that thread/800byte leak when a track finishes, I was
still suffering from “the clicks”, but had noticed that it didn’t happen
when in debug mode (Uh-oh!).
Very much later, I had narrowed it down to having “global optimizations"
switched on around a single function “void layer3reorder_2(…)” in
"audio/mpeglayer3.cpp”
This function is very odd (check it out!) and can be written in a much
simplified form.
I have put a “patch” file together (11K uncompressed), but am not sure
what I should do with it as I am a bit new to all this cvs, diff, patch
and Open-Source business.
If anyone has had similar problems or is curious about the suggested
changes,
please tell me how to deliver the patch (is a Zip attachment ok?)
Also, is it possible that the version of this function in SMPEG is a mangled
version to avoid “copyright” problems?
Maybe I should leave the function body alone and just switch off the
optimizer
around it?
TIA,
John.
[Currently using Windows 95 OSR2, on a K6-2-400 with CygWin and VC 6.0 SP3]