« Nikon v. Pentax and 19-inch Monitors Reviewed | Main | Microsoft Map to the Future »

Installing faad2/m4a/AAC Support in Xandros Deluxe 3.01

UPDATE: Follow this link to a site that has a Debian specific source code for the faad2 xmms plug-in. You still have to compile the stuff but the revised scripts do most everything for you. Just remember, when you do the configure, to type in ./configure --with-xmms --with-mp4v2. Note, the server is behind a dyndns proxy. Use at your own risk. YMMV. Insert disclaimer here. END OF UPDATE

DaveSource.com has a good page on installing faad2 and the xmms plug-ins in Debian. I've modified the instructions to work with Xandros Deluxe 3.01. Why would you need such things? Well, if you have a library of non-DRM m4a or AAC audio files, the only way, by default, to play them on Xandros Deluxe 3.01 is by using Xine or the evil RealPlayer 10. Although RealPlayer works okay, it and Xine are fine for video, for which they are designed, but they are not the best for listening to audio.

What is needed, as far as I am concerned, is something like the ubiquitous WinAmp for Windows. As it so happens, Xandros allows you to install an application called xmms, via Xandros Network, that is very similar to WinAmp. But, and here's the catch, you have to add support for m4a/AAC yourself. Whether you want to spend the time doing this only you can decide. If you are happy with Xine, RealAudio, or something else, fine. But if you want to use xmms under Xandros to listen to m4a/ACC files, then read on.

Getting this support installed on Xandros is a challenge because, it seems, you can't just install the software directly via Xandros Network. Before I get any further, please go to the DaveSource site and read the instructions there (keep your browser open on the site so that you can refer to the instructions and also download the required patch file). Once you understand the instructions, know that you need to modify these instructions to work with Xandros Deluxe 3.01. What I have below are changes to the instructions that by trial and error I found to work. YMMV. Use at your own risk. Insert disclaimer here. Note, this plug-in cannot play encrypted files so don't even ask.

  1. If you have not yet installed, via Xandros Network, the C/C++ Development Tools and automake1.9 (or later) and any other development tools/libraries that may be needed, like GTK, do so now. Xandros does not install a development environment because they don't want you to compile your own applications. While it is not impossible to do so, I wish Xandros wouldn't make it so difficult. In any case, this is not a tutorial on creating a development environment in Xandros so you are on your own.

  2. Install, via Xandros Network, something called libtool.

  3. Install libid3-dev (I have no idea if this is needed but I installed it using the instructions).

  4. Download the faad2 file from AudioCoding.com. Make sure you get the .tar file and not the .zip (which is intended for Windows users).

  5. Create a faad2 directory by typing mkdir faad2

  6. Unpack the faad2-2.0.tar file that you down loaded from AudioCoding.com by typing in tar -xvf faad2-2.0.tar (Or whichever version you down loaded. Again, do not download the zip file version as it is intended for Windows users and will not work in Linux. Note also that if you try using the Xandros File Manager, instead of unpacking the file via the command line, this may result in errors. So don't blame me if you use the File Manager and run into problems.

  7. After unpacking the files, change into the faad2 directory by typing cd faad2

  8. Once there, the instructions say to edit configure.in by adding AC_PREREQ(2.50). It didn't seem to matter in Xandros whether I did. I'll let you decide if you want to edit configure.in. Whichever works for you. I didn't.

  9. Next, edit the Makefile.am file by deleting the lines referring to rpm: (see the DaveSource instructions). If you forget to do this, you will get a "Makefile:623 missing separator. Stop." error when you run make.

  10. Another thing that didn't seem to matter is how you run the commands in the file named bootstrap. That is, manually, as the instructions say to do or by typing in autoreconf -vif. I used autoreconf -vif although you can do them whichever way that works. Note, you may need to change permissions on bootstrap to make it executable. Or not. It depends.

  11. As root, follow the instructions about typing in ./configure --with-xmms --with-mp4v2

  12. Then, type in make

  13. And finally type in make install

  14. faad2 is now, or should be, installed. If not, make clean, then delete everything in the faad2 directory and start over. Keep trying different variations until you get it installed without error.

  15. Having done all that, you are now are ready to create the xmms plug-in by changing directories by typing cd plug-ins/xmms/src

  16. I think you can ignore the instructions about downloading the makefile.manual file. I didn't need it and you probably won't either. In fact, trying to run the file may lead to problems. But, for now, I would just ignore them and only follow the instructions if you end up with other problems later

  17. Continuing with the instructions, download the libmp4.c patch file from the davesource site.

  18. Once the file is down loaded, type in patch < libmp4.c.patch I don't know if this step is still needed but I did it.

  19. Finally, read and follow the instructions in the INSTALL file in the /faad2/plugins/xmms/src/ directory to complete the installation. If you get errors, start over and try different variations like manually doing the make and make install or doing the makefile.manual file.

If all went well, start xmms and check that the plug-in is listed and enabled. If so, you will now be able to play plain, unencrypted m4a/AAC files.

Thank you to the davesource site for creating the how-to and a big onion to Xandros for not including m4a/AAC support natively.

Aloha!