GStreamer hackfest in Munich

Thursday, May 1, 2014

The Google Open Source Programs Office recently sponsored a hackfest for GStreamer, an open source, multiplatform multimedia framework used in various environments from desktop applications to embedded devices. Stefan Sauer from Google’s Munich office talks more about the event below.
Over the weekend of March 14-16th, the Google office in Munich, Germany hosted 20 developers of the GStreamer project for a hackfest. GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback and audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

During the hackfest, we worked on a variety of topics related to both the framework and applications. The group prepared new releases and discussed plans for version 1.4 and beyond. Last but certainly not least, we discussed how we can improve our documentation.

Some of the progress made on the framework side includes:
  • the integration of the opengl-plugins from a standalone repository into the gst-plugins-bad module.
  • a new torrent based streaming source.
  • improvements in many plugins (mpeg-ts, libva, dvb, dash), port the winks plugin to 1.0 and the design of new elements (v4l2-decoders).
  • a new device probing api that has been worked on for a long time finally got merged - this will allow applications to query hardware inputs and outputs together with their capabilities and select a specific one.
  • at the last GStreamer conference, we discussed the need for a better tracing infrastructure - during the hackfest, a prototype was demoed and next steps were discussed.
On the application side, we fixed some bugs on the Pitivi video editor, the Transmageddon transcoder, and the gnome-sound recorder.The Pitivi developers released the first stable GES/GNL/Gst-python packages in the 1.X version. These are the foundation for the non linear video editing.

Finally, our buzztrax developer got one tricky feature working: editing the pipeline structure (the data processing graph) while the playback is running. This work will lead to new sample code to help other projects and improvements in the documentation. Overall, it was a very productive two days!

Stefan Sauer, Google Engineering