Yay I got my SoC project accepted!
So what is it: avKode - A Phonon backend for FFMPEG
It is basically killing a horrible interface and an error-source called xinelib, and going directly to the source. This also enables more powerfull features in the long run such as capture and encoding.
avKode will be a Qt/C++ implementation of libavformat which uses the universal decoder libavcodec as a backend.
At the same time I will attack a number of problems the other Phonon backends are running into. Basically fixing KIO in KDE4 to be much more usefull (adding seeking, cleaning interface, etc.)
The order of attack is something like:
- Update/implement the aKode phonon backend; to have a base for step 2.
- Clean-up and implement needed streaming/file-abstraction functionality in KIO
- Start porting libavformat to some sane Qt/C++
- Make playback work
- Make synchronization perfect.
Sometime post SoC I hope to be able to add encoding and other features provided by FFMPEG.
--
Right now I am sitting K3M - The KDE MultiMedia Meeting. It's a great opportunity to found out what everybody thinks we need, and get a good multimedia friendly start for KDE4 KIO.

Can FFMPEG play all the formats Xine-lib can?
Can FFmpeg automatically detect and play all the audio and video formats Xine-lib can (ie. Windows media, Quicktime, Real Player, AAC, AVI, Ogg, Dirac, DVB etc)? In other words, if I give it a random codec, does FFmpeg just work? My experience has been that Xine-lib certainly does!
Users want something that just works for any file they have. There must be some advantages to using Xine-lib, or otherwise it would never have been made by its developers.
I wonder why so few (if any!) KDE apps currently use FFmpeg directly as a backend -- amaroK, Kaffeine, Codeine, Juk don't have an FFmpeg backends. Perhaps there is no need in the userbase for FFmpeg by itself.
What makes you think that once FFmpeg is able to do capturing and encoding, Xine-lib won't be able to as well? Will avKode be simple a glue between FFmpeg and Phonon or will it also be a backend for libMAD, libmpeg2, liba52, FAAD2, ogle, mpc, and xiph as well as be a sound server?
I wish you good luck, but I just hope you're not duplicating Xine-lib's work.