Hi I've Successfully compiled madplay and it's libs for the Zaurus. Everything works. I used the following options for configure:
CC=/usr/local/Embedix/tools/bin/arm-linux-gcc \ RANLIB=/usr/local/Embedix/tools/bin/arm-linux-ranlib \ ./configure --host=arm-linux \ --enable-speed \ --enable-fpm=arm \ --libdir=/opt/Qtopia/sharp/lib \ --includedir=/opt/Qtopia/sharp/include
The playback sounds great. The only problem I've got is occasionally "skipping" which I'm assuming are some sort of buffering problem. The skips only occur when I run other apps while playing an MP3. They occur more often if the MP3 file is stored on an SD card or fetched from an SMB mounted file system.
I haven't yet taken a good look at how madplay reads and buffers the data. I originally built it with mmap. After thinking about it - if my understanding of mmap is correct - it makes little sense on a device like the Zaurus. I rebuilt madplay without mmap (is the correct way to do this to edit config.h ?) and the skipping remains. So it seems that mmap had little effect.
If mmap works on the Zaurus - when it's enabled madplay will request to have the full MP3 file "mapped" into memory to avoid disk reads while playing it (is this correct?). On the Zaurus, the MP3 will already be stored in memory, and mmap would just copy it from one chunk of memory to another. Perhaps this would save the time it take to execute the filesystem code but it would chew up memory on a limited device.
Buffering - I don't know how the buffering in madplay works. I assume that buffering would be better for the Zaurus. Is madplay meant to be a robust generic MP3 player or is just to demonstrate how to use libmad?
Finally, are there any other config options I should try? I'm not familiar with the ARM family of processors - I've noticed other posts that specify a specific arm chip in the config options. How about other options for libmad/madplay? Is there a way to get configure to tell you the full list of options? I tried --help but people here are mentioning options that aren't shown.
I'm impressed with the work thats been done on MAD - it compiled and worked right out of the box and sounds great. The only trouble I had was figuring out how to cross compile it, and those questions were answered right here in other posts.
Thanks in advance for any help offered.
Dave
---------------------------------------------------------------- Dave Belser (mad@newww.com)