I've discovered madlld and begun using it to try and learn libmad's low-level api, but I'm having some problems. When I run madlld, most of the frames fail with recoverable errors, and the total output is very small. For example, an mp3 that is 4937K in size is resulting in a decoded version that is only 221K, with only 49 frames decoded. Almost all of the other frames fail with the recoverable error of "Huffman data overrun."
I'm guessing that my MAD configuration is to blame, but I'm new to using MAD and I'm not sure where it has gone wrong (I've looked in configure.in and at my config.log but I'm not seeing the issue). I'm running in MSVC 6 on a Windows 2000 machine, so I've set the following preprocessor definitions: FPM_DEFAULT,HAVE_CONFIG_H,ASO_ZEROCHECK,WIN32,_DEBUG,_WINDOWS,_MBCS. Also, I'm using the config.h and mad.h from the msvc++/libmad directory. Has anybody else had this problem? Does anybody have a config.h and mad.h that work well on Win32 that I could share?
Many thanks, Chris Dellario
On Fri, Nov 22, 2002 at 10:01:17AM -0500, Chris & Amanda Dellario wrote:
For example, an mp3 that is 4937K in size is resulting in a decoded version that is only 221K, with only 49 frames decoded. Almost all of the other frames fail with the recoverable error of "Huffman data overrun."
That may be due to the fact that ms-dos treats text and binary files differently. You may need to freopen stdin and stdout in binary mode before the call to the MepgAudioDecoder() function.