A week or so ago, I switched from using Gentoo Linux to the latest devlopment version of Ubuntu Linux. Scheduled to be released in April 2006, "Dapper Drake" contains the latest "unstable" development versions of various Linux software. The music player I use, Rhythmbox, was updated to use version 0.10 of the GStreamer media playback engine.

In previous versions of Ubuntu, which only had GStreamer 0.8, getting AAC files (like the M4A files supported by iTunes and iPods) to work was as simple as installing the gstreamer0.8-faad package, which decodes AAC files. However, in GStreamer 0.10, plugins for media formats are divided into the "good" (plugins that work and have appropriate licenses), the "bad" (plugins that do not currently work properly), and the "ugly" (plugins which have licenses which make them illegal to distribute in some locations). The Ubuntu package repositories contain binary packages for both good and ugly GStreamer 0.10 plugins. Unfortunately, faad is listed as "bad."

Luckily, it is possible to compile the "bad" GStreamer plugins from their source. First, one will need the development versions of certain GStreamer libraries. The following binary packages need to be installed:

If you have never compiled a package from source before in Ubuntu, you will need to install several other packages. If that were the case, however, it is unlikely that you would be using a development version of Ubuntu.

Once you have fulfilled the prerequisites, download the "bad" GStreamer plugin source and install it. You will have to specifically enable support for the faad plugin when using ./configure.