Entries from December 2007 ↓

GStreamer backend for Phonon

Happy to see that TrollTech released their set of Phonon backends today, including the one for GStreamer. With the recently added Windows and Mac output plugins and codec wrappers one could even use the GStreamer backend even on Mac and Windows :)

Anyway welcome to the fast growing world of GStreamer :)

Collabora Winter Collection 2008

Seems the Collabora Winter collection is in. This winter we sport a fashionable blue or black fleece jacket with a discreet yet eye pleasing Collabora logo on it. In the picture below you see Collabora’s very own Daf showing of the new jacket on our office catwalk.

Daf in fleece

For anyone wondering about the superb image quality be aware that this was achieved using the professional camera bundled with my mobile phone.

The end of a bug

Wim finally closed bug 320984 today. This is the Chained Ogg bug which has been open in GStreamer bugzilla since 2005. So with the CVS version of playbin2 we can finally handle these files properly in GStreamer. While the amount of chained ogg files out there is limited there are at least a few internet radio’s using them for their streams.

With the recent work being done here at Collabora by Pierre-Luc Beaudoin enabling the HTML5 elements in GTK Webkit using GStreamer, it is good to know that even these ‘corner case’ Ogg files can now be properly supported. Will of course still be some Months before this feature has made is way from our development repository to being packaged by your favourite distribution, but at least know it is on its way :)

Nokia on Ogg

Slashdot linked this weekend to a Nokia position paper on the use of Ogg in the HTML5 proposal for the media elements. For those of us who have followed the HTML5 discussion for some time there is little new in the position paper, he is simply regurgitating the same arguments that Apple Safari people came up with.

Let me start by saying that I know that Nokia is a big organisation and that the opinions expressed by Stephan Wenger in the linked position paper do not reflect the opinion of everyone at Nokia. So unlike the Slashdot crowd I am not putting this position paper at the feet of everyone at Nokia. I would point out that Stephan Wenger’s job at Nokia seems to consist of traveling the world attending MPEG meetings eating canap’es, so there is probably a lot of self interest in that position paper also :)

That said I do feel it correct to address some of the concerns/claims made in that document and by some Slashdot commenters.

To start with the Slashdot headline, the definition of proprietary in this context I guess could be open to debate, I have myself referred to technologies as proprietary if they are mostly a one group/company effort myself, even if the code is available. If that description would fit Ogg, Vorbis and Theora is another matter, but I will for the sake of argument allow that the what makes something proprietary in the context of software is open to some discussion.

What I felt was the biggest red herring in the paper was actually the musing about DRM. There is nothing stopping you from DRM protecting Ogg,Vorbis and Theora content and thus his arguments about the need for DRM support seemed rather misplaced. Sure you can not play back a DRM protected file on a system only supporting the normal playback but that is true for any format. You can not play back a Windows Media DRM’ed file on a non-DRM supporting Windows Media stack either. Same for playing back a Fairplay protected AAC file on a system with no Fairplay support. And unless he wanted to also standardize on a specific DRM system in HTML5 it doesn’t matter what format you use cause if people use different DRM systems you don’t get better interoperability anyway. An OMA DRM protected AAC file do not work with a Fairplay enabled AAC playback system and vica versa.

He also spent a some time nagging about what are the currently popular formats on the net and what terms they are commonly available under. The cutest argument however was how he managed to try to say that if the W3C accepted a royalty bearing set of codecs for this specification it could at the same time try to push for more royalty free stuff through MPEG and ITU-T…..yes….sounds brilliant……no better way to convince organizations creating royalty bearing standards that they need to do royalty free standards than to start paying money to use their standards…..errrrr NOT.

His section on Alternative ways forward is also quite hilarious. Proposal 1. Leave it up to the market forces. Dude, standardizing on Vorbis/Theora is part of creating market forces. And for the claim that the market had quickly chosen something at earlier points in other non-related markets was also quite hilarious. If he instead had looked at the Web of today there is a big mix of stuff being used like Windows Media, Quicktime, Flash Video, DivX, Real Media and more. And its been like that for a long time. The only way the HTML5 media tags have any hope of causing consolidation is of course to propose specific codecs for HTML5. If not there will be zero motivation for anyone to move away from their current Windows Media or Quicktime or Flash or whatever solution.

His second option was to adopt some ancient standards which where sure to be out of patent. One would have hoped a position paper from a world leading organisation like Nokia would be held at a higher professional standard than being based on a random authors ‘author’s personal experience‘ to quote the article. That said Theora as it is could be better and it is in the process of getting a lot better due to Monty’s ongoing work.

His last proposal is of course the oldest most true and tested way of trying to derail an effort: propose to set up a committee to investigate the issue…

Hopefully the next time Nokia want to write a position paper on something they will choose someone to write it who wants to be part of the solution and not the problem.

Interesting multimedia developments

I ended up doing a full reinstall of my Fedora 8 install yesterday. It finally gave me a chance to play with PulseAudio. I guess I have for a long time belonged to the group of people skeptical about the value of a soundserver in a local setting. But working with people like Wim and having them tell me my skepticism is misplaced and that PulseAudio seems to be doing it right I haven’t voiced my skepticism to loudly.

And while there still is some work needed on the UI side (something I saw Lennart point out himself in a wiki post) I have to say the functionality provided by Pulse is nice. Those who have followed the latest iterations of GNOME would have noticed that the audio support has been evolving at a steady pace for quite a few releases. These things have focused on playing with the GStreamer gconf elements which allows your sound output to be configured through various GConf keys. This does work, but it do not lend itself to a high degree of granularity and we still have some way before it provided the user experience we wanted in terms of devices that come and go like USB and Bluetooth headsets. PulseAudio seems a more natural fit for these scenarios and I have to say it was a fun experience today switching audio back and forth between my USB headset and the laptop speakers using the PulseAudio mixer.

As said some UI improvements is still needed before this is perfect, for instance it took me a little time to figure out how to do it before eventually discovered that right clicking was my friend :). But I have to say the feeling I got is that this is the way forward and that the foundation is very solid.

And of course thanks to the PulseAudio GStreamer plugin Lennart wrote all my GStreamer apps work wonderfully in this new PulseAudio world :).

GStreamer on MacOS X and Windows

Speaking of GStreamer, Julien commited two plugins recently to gst-plugins-bad I think are quite exciting. The two plugins in questions are a Quicktime codec loader for MacOSX and a DirectShow codec loader for Windows. The Quicktime loader, which I believe is the first working one available in any open source project, gives GStreamer access to native codecs when running on MacOSX. This means that when you run a GStreamer application under MacOSX you don’t need to install GStreamer specific codecs for codecs provided by MacOSX by default.

The DirectShow codec loader is very similar to what people have been using under linux for a long time to load Windows codec .dll files using Wine, but once again its goal is to enable access to native codecs when running GStreamer under Windows.

The MacOS X plugin was written by Edward Hervey, while we were still at Fluendo, and the Windows plugin was written by Sebastian Moutte, Juliens brother. The two plugins where done as the result of an agreement with Songbird so a big thanks goes to them. In fact the Songbird team just recently released their 0.3 release of the Songbird player so if you haven’t already you should give it a try.

So anyone reading this who runs and/or develops with GStreamer on either Windows or MacOSX platforms please test the plugins and help ensure they can be moved over to gst-plugins-good in the not to distant future.

Life in England

Beginning to feel settled in here in Cambridge now with most practical stuff taken care of. Sharing and office with Rob and Daf here at Collabora has been a very nice experience so far. Cambridge is also a really interesting town with a lot of things happening. For instance on Wednesday I attended the founding meeting of Games Eden, a business networking organization for people in the East England area involved with various aspects of computer game industry. The meeting was attended by for instance the guys from Ninja Theory who are behind the PS3 game Heavenly Sword, David Braben the man behind the legendary game Elite and who runs his own game development studio here in Cambridge was there, Andy Serkis was there, who was the person giving life to the characters of Golem in Lord of the Rings and King Kong in the movie by the same name. Andy was partly there due to his involvement in the creation of Heavenly Sword, but he also had some very interesting business ideas which would ensure his future involvement in the game industry going forward.

Things going very well business wise at Collabora, seems there is not a week going by without a new company popping onto the scene using GStreamer, often in conjunction with Telepathy. And more often than not they are also interested in our help with getting their products and projects moving forward. Ended up with a lot of onsite assignments recently which has had especially Edward probably spending more time away than at home. :). I also have to say that I am quite impressed with how Robert and Philippe manages to keep so well coordinated across time zones and continents. It think it would have been very easy to end up with two very separate units with the team almost spread 50/50 between Europe and Canada, but they somehow manage to make it seem easy to keep the two parts of the company humming like one integrated machine. Part of it is of course applying open source social mechanics to organization of the company, but even with that as a background it is a big challenge and Rob and Philippe without a doubt got a natural affinity for the challenge.