Welcome to the GStreamer SOC 2007 ideas page. Since the GStreamer project doesn't have its own Wiki the GNOME project has been kind enough to let us use theirs. Please collect ideas for google summer of code 2007 projects that are GStreamer related here.

Project proposals which lets a student cooperate closely with established developers are strongly prefered over projects which makes the students work alone. So when we choose which projects gets the go-ahead such projects will be prioritized.

Be aware that projects related to applications using GStreamer are more than welcome to be proposed and done under the banner of the GStreamer GSoC. So if you want to do a project related to for instance Totem, Rhythmbox, Banshee, Jokosher, Pitivi, gnome-media, Buzztard, Thoggen, Amarok, Flumotion, Exaile and so on feel free to add it below. The same goes for projects related to technologies used by GStreamer like Schrodinger (our Dirac implementation), liboil (our optimisations library), swfdec (our Flash decoder) and others, you could even propose a SoC project related to glib as long as you manage to convince us the work you are undertaking has a clear benefit for GStreamer (for example performance improvements).


This section contains some general information for potential mentors and students interesting in participating in GSoC under the GStreamer banner.

We will try to do GSoC in a more firm way than what we feel other mentoring organisations have done in earlier years. This mean we will require that our mentors have a firm comittment to follow-up their student(s). It also mean that the mentors will be checked up upon by the GStreamer SoC administrators to make sure they are following up their students in a good manner. For mentors this means that being a mentor will be expected to be more than just replying to questions asked from the student(s), but also function as a project leader for the student in question in terms of pushing for progress proactivly and trying to help the student progress.

We hope that by stressing that the mentors need to see themselves as project leaders and not just as someone to reply to questions we will be able to keep most of our students on track and on-the-ball troughout the project period.

But in the same vein that we will try to push our mentors harder we will also be harder on our students. Which means that any student being mentored under our banner who we during the project period we feel didn't give it the priority and effort the project mandated, will have their final result judged harder than someone we feel give it a honest and strong attempt. This essentially mean that if you sign up for SoC and don't put a strong effort inn the chance of us not approving your project is probably higher than with many other mentoring organisations which in the end also means Google will not be paying out any money to the student in question.

Project proposals


  • Plugins and extensions for content creation tools

  • Support for v4l(Video for Linux) in GStreamer and add an radio interface to Rhythmbox (Comment: GStreamer already has v4l and v4l2 support) (NickolayShmyrev: but this support is rather limited and like important features. And it was broken a bit during 0.8-0.10 transition as well as during Rhythmbox development. Very outdated patch for rhythmbox 0.6/gstreamer 0.8 is here. Actually it would be nice to handle both Banshee and Rhythmbox at once.)

  • Support DVB TV and radio (also using budget cards/USB!) in gstreamer, and add support in Totem(is this the right place?) and Rhythmbox.
  • Better DVD playback with navigation support
  • Take the Gst-editor project from last year and make it more than a UI Gst-editor

  • MXF muxer and demuxer for GStreamer
  • Implement accelerated playback plugin by making use of gstpitch audio plugin (can speed up audio without chipmunking effect) and increasing video framerate. Incorporate into Totem. You can comfortably watch video at 10-20% faster, decreasing viewing time for when you want to make the most of your time or are in a rush.

Distributed GStreamer



  • Flumotion currently has a lot of functionality not exposed in the gui wizard, add GUI for things like DVB and Video on Demand support
  • Update Flumotion-RTP branch, integrate it with main branch and enable Vorbis and Theora support


  • Capture support. Work on GStreamer source elements, user interface, automatic discovery of cameras/webcams/microphones
  • Plugin system for effects and high-level frontends. This should allow features such as a "slideshow wizard" where you just enter the photos, their order and the soundtrack and it auto-magically creates a timeline. This of it as allowing simplifications of the UI for specialized tasks
  • Collaborative editing.
  • Support for professional formats : DVCPro, MXF, ...
  • AAF support. This would allow being to open/save projects created in other editors like Avid, FinalCutPro, ....


  • work on enabling DVB support in the Elisa GUI


  • Add support for being a Ventrilo client to Telepathy (hard task) VentriloDocs


  • Add an interface for FM radio cards through v4l2 plus recording features.
  • Add Magnatune plugin with ability to stream music, buy music and have it automatically added to your collection


  • Add a system that allows for plugins to be written for online music stores
  • Add a plugin to interface with Magnatune
  • Add Crossfade support
  • Modify the build infrastructure and add extra code (wherever required) so that we can simultaneously make releases for Microsoft Windows as well.

Avisynth 3.0

  • Add a Gstreamer source plugin for Avisynth 3.0
  • Add a Gstreamer plugin/framework so that each Avisynth filter can be used within a Gstreamer pipeline
  • Implement the high level parser of Avisynth 3.0
  • Port the internal filters of Avisynth 2.5 to Avisynth 3.0
  • Write a filter that allows the use of the Avisynth 2.5 filters in Avisynth 3.0
  • Implement in asm (x86, amd64, and maybe using SoftWire) some filters (colorspace converters, resizers, tranform plugins (turn, flip, symmetry)).


  • Add SMIL support to Totem by integrating Ambulant. Included in this task is also making ambulant use GStreamer

Projects/GStreamer/SoC2007 (last edited 2013-11-22 18:40:11 by WilliamJonMcCann)