Lennart is one of the few people thinking about audio on Linux at a high enough level to define and sort out the problems. I endorse this message.
Well, except for the part about portability — GStreamer works quite well on OS/X and Windows. Now only if it had a good raw audio subsystem, like what you would use in a game engine…
The name is “Lennart” with an a.
Thanks for endorsing that guide!
Do you suggest that gstreamer is better on Windows than DirectShow, or it has better codecs available?
I’d rather use native codec API on the system I run on. In windows it’s DirectShow. In OSX it’s Quicktime (a guess), in Linux it’s either xine or gtstreamer (or something else, but large fraction of them basically run on ffmpeg codec implementations). Phonon is abstraction above that, comparing gstreamer and phonon is comparing apples and oranges.
So the choice (in this case) is a good thing, cross platform application should be able to plug in and reuse as much as possible of the host OS. And, realistically, I don’t expect a whole world to suddenly start developing gstreamer codecs as they do for DShow currently (remember that there are a lot of closed source en/decoders out there, some of them may not have equally good oss equivalent nor the support for gstreamer) .
After I wrote this I noticed that I tried to imply something that you didn’t say, so I retract my question
But IMHO Phonon is nice abstraction that would, in theory, allow apps to reuse host’s native codec library instead of having to rely always on gstreamer (which IMHO still isn’t even up to standards set by some other video players in Linux).
Indeed, I wasn’t talking about Phonon at all. However, I can add my opinion of Phonon.
Phonon is a nice addition to the Qt platform that allows developers to create applications that do a limited amount of media functionality. Importantly, it’s all done in a Qt API style, so it does not require a huge amount of initial learning if one is already familiar with the Qt platform. The tradeoff for this ease of use is the limited functionality (compared to the underlying media framework), and potentially slightly different behavior among platforms. A wise developer that is currently using the Qt platform would probably use Phonon initially to do simple things, then convert to the underlying media framework if more power is needed. A wise developer that is not using Qt would unlikely consider Phonon at all.
Of course you wouldn’t use Phonon outside of KDE or Qt, because it pulls Qt dependencies. But it’s still a sane and actually extremely simple thing, abstracting backends away. I mean, everyone sane does that, how can that actually lead to a discussion? Also you shouldn’t forget that these “simple things” cover 95% of all needs of desktop applications (audio playback, synchronized effects, video playback, …). Actually a lot of Linux Audio Software has the same as Phonon inside their own Sources.