Gentoo Wiki


Wikipedia has an article on:
MPEG-4 Part 3


M4P files are iTunes protected media format in AAC audio codec. M4A files are the same but without the protection.

How To

If the M4P audio files in question are the purchased, DRM'd downloads from iTunes, check HOWTO Convert from iTunes.

For mplayer and xine: Both programs have the aac useflag, so just add aac to the USE variable in /etc/make.conf, then re-emerge.

# emerge -uaDN world


# emerge -aDN mplayer
# emerge -aDN xine-lib

The first option will recompile any installed package which has the aac useflag. The second option is more specific.

For Amarok: Amarok uses xine to do all of its decoding, so make sure xine-lib is compiled with the aac useflag. Amarok also needs the mp4 useflag set. This useflag enables support for tags in M4A files. Add mp4 to the USE variable in /etc/make.conf, then re-emerge

# emerge -aDN amarok

After amarok has finished compiling, restart the program.

If you want to play unprotected M4A files in xmms, just emerge the latest version of media-libs/faad2 with xmms use variable.

# emerge media-libs/faad2

The latest version of faad2 (media-libs/faad2-2.0-r13) doesn't have any use flags, so you cannot specify xmms and have xmms support m4a files using this method.


In order to listen to the M4A/M4P files in cplay (with mplayer), you need to add the player in /etc/cplayrc (global) or ~/.cplayrc (local)

File: /etc/cplayrc or ~/.cplayrc
        FrameOffsetPlayer("ogg123 -q -v -k %d %s", "\.ogg$"),
        FrameOffsetPlayer("splay -f -k %d %s", "(^http://|\.mp[123]$)", 38.28),
        FrameOffsetPlayer("mpg123 -q -v -k %d %s", "(^http://|\.mp[123]$)", 38.28),
        FrameOffsetPlayer("mpg321 -q -v -k %d %s", "(^http://|\.mp[123]$)", 38.28),
        TimeOffsetPlayer("madplay -v --display-time=remaining -s %d %s", "\.mp[123]$"),
        NoOffsetPlayer("mikmod -q -p0 %s", "\.(mod|xm|fm|s3m|med|col|669|it|mtm)$"),
        NoOffsetPlayer("xmp -q %s", "\.(mod|xm|fm|s3m|med|col|669|it|mtm|stm)$"),
        NoOffsetPlayer("play %s", "\.(aiff|au|cdr|mp3|ogg|wav)$"),
        NoOffsetPlayer("speexdec %s", "\.spx$"),
        NoOffsetPlayer("mplayer -slave %s", "\.(m4p|m4a)$")
Note: It seems that cplay does not just add the players to its list but changes its list to the one in .cplayrc, hence everything but the last line is copied from cplay itself and the said last line will add m4a support.
Retrieved from ""

Last modified: Thu, 12 Jun 2008 19:53:00 +0000 Hits: 24,627