Quality of Service

Wim has been working adding Quality of Service support to GStreamer. For those who don’t have any familarity with that term in this context is means that when you are playing back something which you don’t have enough CPU power to play back GStreamer tries to cope with it nicely. This usually means dropping/skipping video frames and for instance only decode the keyframes in a video file. One of the things you need to get right in such a setting is that no matter how many video frames you need to skip audio and video should still stay perfectly in sync. So when movement in the video slows down a bit again and your CPU is once again able to cope the audio and video hasn’t lost sync. You also want audio to keep playing perfectly through it all. Well Wim has the start of it working now and its already doing better on his selected testclip than the alternatives he is testing with. There is of course still more work that needs doing in terms of both enabling this for more formats and fine tuning the core, but its looking pretty sweet. Not as sweet of course as actually having enough CPU to play it perfectly, but still a waste improvement of what you are experiencing today.

House on fire

Seems the house of my mothers neighbour burned to the ground yesterday. Nobody got hurt, but it still feels kinda strange to have a house thats ‘always’ been there, now be gone.

The Legend that is Mike Smith and Theora

Mike Smith, our resident Xiph.org master at Fluendo, put together a new Theora decoder plugin today. It is based on the alternative theora-exp code from Xiph.org svn and should give very significant performance improvements over the current one in the 30% to 50% range. A big thanks to to Mike for this. All we now need is a release of theora-exp and distributions and users have a much higher performant Theora playback option.

GStreamer on Windows

We long have had some basic Windows support in GStreamer including building using Visual Studio and output plugins using DirectShow. Sebastian Moutte just commited a lot of fixes to our -good plugins package making sure most of the plugins in that package also build on Windows. What will be the second GStreamer application for Windows after Ixion?.


Plan on keeping up with my Pitivi blogging as Edward is such a lazy blogger. Edward has been working on improving robustness of Pitivi over the last few days with better handling for unloadable streams and also various smaller memleak fixes. Getting Pitivi memleak free is actually an important goal for us as we want to use the Pitivi engine also as a backend system for video processing which means it needs to be able to keep running for weeks without choking your server. A new release is planned soon and the goal is to have the features in there working as robustly as possible before then. It is in some ways similar to the development strategy we took with GStreamer 0.10. We defined a core set of plugins (which is what you today know as -base) which we felt represented many of the most important plugin types and usecases. We then worked on making GStreamer and these plugins work really well. Only when that had reached a high level of maturity did porting other plugins start becoming a priority. Apart from practical coding advantages to this approach it also came from a thinking that its better to do a few things really well and build on that instead of trying to do a lot of things right away and do them all badly. I think it worked out well for GStreamer 0.10 (as opposed to 0.8 where I guess we almost did the ‘add enough plugins and the core will fix itself’ strategy :). Hopefully it will work out equally well for Pitivi.