Chris Schaller's (a gstreamer dev)
blog, as pointed out by
Aaron Seigo, does pretty much miss the point. KDE has already been down the road of hitching up to the one true media framework. GStreamer simply does not offer "a believable API/ABI stability guarantee that covers kde4's lifespan." And one can't really blame it, we can't even be sure how long KDE4 will last. And portablity as well - why wouldn't KDE use the available "advanced media frameworks on other platforms" (as Schaller puts it)?
So an abstract multimedia layer is just a technical necessity for a project like KDE. However some of the issues Schaller identified are in fact real issues, ones we've experienced developing amaroK. We have an abstract multimedia backend system. One thing we've discovered is that it is very important to make sure all engines are fully functional. A user can only use one engine at a time. So an engine that is less then functional is actually quite damaging to the application - Murphy's law dictates that distros will pick the least functional backend as the default. We've considered options such as notifying the user of features that their engine lacked. But ultimately whats the point of an incomplete or instable engine when a better one exists? So a few days ago, amaroK's gstreamer engine was turned off - the Xine and Helix backends are fine, there are several open bugs on it and it does not support streaming yet. Phonon should have a similar policy of not tolerating incomplete engines.
So Schaller's points regarding the problems of having 5 different engines is one to be concerned about - however there is really no reason why Phonon has to have 5 engines and I hope it doesn't. Any additional released engine should have some justifaction (like the advanced features of NMM).