I’m really not happy with the state of audio players in Linux; not at all. And this is not for missing support of mp3 or AAC files, that is not a problem in Gentoo since we don’t really end up in the fight over patents, as a source distribution, but rather for the fact that each player I’ve tried lately has one or more problems that make it very unfriendly to me.
Starting with mpd, that can be a mess to deal with on systems where PulseAudio is used, because of the privilege separation (that I find quite silly to be honest — I understand if you run it on just a server that it’ll have to run under a particular user, but if I want to run it on a desktop, why cannot it run as my user?), continuing with Rhythmbox (that does not work when shuffling songs) and finishing with Banshee, cmus and mocp (no, a file with m4a extension does not have to be AAC-encoded!).
I’m not really sure what’s up with Rhythmbox: if I set it on the “Music” entry, set shuffle and play, at the end of a song it notifies me of the next one but does not start playing it, and I have to explicitly request a new one or pause/play it (which is quite a problem given I use music to avoid burning out).
What really upsets me, though, are the three players that don’t play my ALAC (Apple Lossless Audio Codec) files. Oh yes now you can blame me for using some patent-ridden codec (although I don’t think ALAC has any patent on it, it’s pretty similar to FLAC — there are yet no encoders for iton Linux, that’s true, but it’s the only lossless format that I can play on my iPod, and I like my music lossless). The point is, GStreamer can play the files fine, although with a catch – the mp4 demuxer that can open m4a files is in the gst-faac package, while the ALAC decoder comes with gst-ffmpeg – and Rhythmbox also can play them correctly; Banshee on the other hand reports them as not valid because it expects m4a files to only carry AAC streams. Similarly, cmus states to support mp4 files but it only supports m4a/aac, it really lacks an ALAC decoder so I cannot blame it too much (it’s also the one that I was liking best). Finally mocp upset me as much as Banshee: it uses FFmpeg for decoding, which means it can decode ALAC files… but it also expects that the file contains an AAC stream.
Now I can understand that for the average Joe user the extension of a file declares its content (especially those with Windows background), but I’d expect developers of audio players to have a clue about multimedia file formats. Although I should have known it by the fact that for about two year the shared mime database reports wrong mime types …