Playback .m4a files with slimserver / faad2
Then your mate comes along with his iPod and you've suddenly got 23GB of mp3 and m4a files. The mp3 files playback "out-of-the-box", but what do you do with the m4a files? What exactly is an m4a file? In simple terms, m4a stands for MPEG 4 Audio. .m4a files contain aac audio streams (Advanced Audio Coding). Everything you need to know about m4a files is here
The first step to playing these files from slimserver on linux is to follow the instructions in the slimsevices FAQ, specifically the section entitled "Does squeezebox support AAC on Linux systems" in the Supported formats section.
These instructions describe how to use a program called faad2 to play back these files.
However, there's a catch; the latest faad2 release (v2.0 released on 7th Feb 2004) contains a bug which means it is unable to play back m4a files under linux. This bug affects both the source release and rpms built from this source. The bug has been fixed in cvs but as of 2004-08-03, a new release has not yet been produced.
The obvious thing to do is to checkout the source from cvs and build the binaries from that. Unfortunately, as of 2004-08-03, additional changes have been checked in to cvs which mean that the it won't build on linux systems. I've done some digging and found that the changes that fixed the original bug were checked in before 3rd March 2004. So, all that's needed is to check out from CVS a snapshot on that date.
Here's what I did to build a version of faad2 that can sucessfully play .m4a files from slimserver on my Linux system (Fedora Core 2):
CVSROOT=:pserver:firstname.lastname@example.org:/cvsroot/faac export CVSROOT cvs login(Hit return when prompted for a password)
cvs co -D2004-03-03 -dfaad2-CVS faad2 cd faad2-CVS autoreconf -vif ./configure --prefix=/usr --with-mp4v2 make sudo make installNow restart slimserver (/etc/init.d/slimserver restart on my system) and you should be able to play your .m4a files.