Seems we had a very good Google summer of code this year with 5 of 5 projects all crossing the finish line and all resulting in mergeable code. I think our approach this year of doing less ‘blue sky’ and more clearly defined tasks worked out very well indeed.
To summarize the projects.
asfmux and asf rtp payloader – Thiago Sousa Santos finished this task very quickly and I have been using it with Transmageddon for a while now. The plugins are already merged into plugins-bad and as soon as it gotten more testing and exposure I think we would be ready to move it onwards from there. Thiago hasn’t been resting on his laurels after completing the muxer though, instead he has started hacking on porting our muxers to a new collectpads implementation which would enable us to support muxing things like subtitles into the files, which is needed for things like supporting subtitles in mp4 files for the PS3 for instance. Outstanding work.
MHEG support – MHEG is the DVB standard that allows functionality such as being able to press ‘the red button’ on broadcasts in britain to get further information or alternative TV streams, BBC for instance got this on Freeview.
Miquel Àngel Farré has been hard at work on this task and the patches for it is either in GStreamer already or will be merged once the current freeze is over. Some further integration work will be needed to enable this in for instance Totem, but that work is also underway. A big step forward for the DVB support in GStreamer, which already has seen GStreamer getting picked up to do TV set-top boxes and similar.
Support for Avisynth filters in GStreamer – Ruslan Ijbulatov has been working steadfastly on this and solving issues as they have arisen. The current code allows you to recompile any Avisynth element towards GStreamer, for use in GStreamer pipelines, with just some slight tweaking of the original code. While the original goal was to allow the use of these plugins unmodified this turned out to be untenable during the course of the project. Our new API though should make it easier to make avisynth filters cross platform. The code to enable the Avisynth filters are currently GPL as it contains code under that license from Avisynth, but we hope to get permission for a relicensing the parts of Avisynth code in there to the LGPL, so that if the avisynth plugin writers are willing we can get access to those plugins under a license better fitting GStreamer.
Ladspa2 plugins in GStreamer: David Robillard has been working on enabling the use of LV2 plugins in GStreamer. As the project name implies it was a project to enable the use of the new generation of LADSPA plugins from GStreamer applications, so that for instance Jokosher can get access to the new and improved LADSPA2 plugins. The project proceeded very well with most of the core code committed before the halfway evaluation of the SoC and the second half being used on polish and extension support. The code should be ready right now for projects to start hooking into these new elements.
MPEG PS muxer for GStreamer – Lin YANG has been pushing hard over the last weeks to get this over the finish line, and while the code is not yet merged into GStreamer git the muxer is ready and will be merged after the freeze. It is really great to have this muxer in place now as it basically means we got full muxer and demuxer support for all MPEG formats. Lin has also been working on some patches for our h264parser and the mpeg ts muxer, polishing up some rough corners here and there.
All in all I am very happy with how things turned out and combined with the much improved AMR support which Iago Toral Quiroga worked this summer unrelated to the SoC, I think we took some good steps forward this summer. I am also very confident that most and maybe even all of this years students will be hanging around and continuing their contributions to GStreamer during the winter.
I am personally especially happy about the MPEG PS and the ASF muxer both getting done, as that means that GStreamer now got support for all major container formats for both demuxing and muxing, which will be a huge blessing for content creation applications using GStreamer(only other format I can think of that with some kindness might be called major would be the Real media format, for which we only got a demuxer currently, maybe something for next years SoC :). So I will work on adding MPEG PS support to Transmageddon too now.
So a big thanks to all the students and mentors involved this year! And also a big thanks to Google of course for providing the funding for this effort.