GStreamer, Google, San Fransisco and being stuck

Currently staying at my friend David Schleefs place in San Francisco. Davids company Entropy Wave is about to launch some rather cool new hardware encoders rack boxes, which David showed of during the CE Linux showcase. The boxes will support both Theora and H264 encoding to enable the easy creation of HTML5 friendly content. People where also quite impressed by Davids DSP port of Theora for Texas Instruments OMAP3 which was sponsored by the Mozilla Foundation, there was also some interest by other chipset vendors to get David to also port it to their architectures which could be a great development in terms of Theora based HTML5 support on mobile and embedded devices.

I was here to attend the CE Linux and Linux Foundation Collaboration Summit conferences this week and its been interesting. Btw, thanks to Google for the Nexus One phone, will be interesting to get home and do a throughout comparison with my Nokia N900. One thing I already discovered doing some prelimenary testing is that the Nexus One doesn’t seem to support syncing contacts over bluetooth, so its a bit of a cumbersome process it seems to move my address book onto the Nexus One from the N900. Talking of Google, the most repeated rumour, from a lot of people at the conference all claiming inside sources at Google, is that Google is about to open source the VP8 codec, using it both for Google Talk video conferencing, for HTML5 in Android and Chrome, and for You Tube. Will be interesting to see if this happens though and under what terms in the end. And if it happens it will be equally interesting to see if the quality of the encoder is good. Heard some claims that the current VP8 encoder actually creates worse quality videos than the latest Theora encoder at the same bitrate, which would make Googles refusal to support Theora for HTML5 for Youtube a bit sad.

Got to talk to quite a bit of people using GStreamer on their products, and I based on those conversations I can easily foresee that we will be getting more contracts in the future, at Collabora Multimedia, which task is basically mainlining vendor patches for things like GStreamer and Pulse Audio from vendors who are using these libraries in their products. While most companies wanted to see their patches go upstream to avoid eternal pains of maintaining and re-applying their modifications, they seem to have trouble allocating staff needed to make it happen. So hiring specialists like us to do the needed patch clean-ups and get them ready to be merged is easier to fit into their timetables and budget. Tim Bird, the chairman of the CE Linux forum, actually mentioned in one of his talks that this was the method that a lot of their members have found to be most cost effective in terms of getting patches upstream to a lot of different projects, hiring core contributors to the project in question as consultants to take the patches to a stage where they can be merged.

Last night I attended a GNOME dinner hosted by Adam Dingle of fame, seems Yorba is making good progress on their projects, with Shotwell their photo manager, getting included in next version of Fedora. A big thanks to Adam for setting up this dinner, much appreciated.

The other thing that I am wondering about at this point is whether I will actually be able to fly back to the UK on Sunday. With the volcanic ash messing up everything I am starting to worry a bit. Seems BA though is re-routing their US flights to Glasgow and then providing buses to take people down to London. Not to excited about the prospect of a 6.5 hour bus ride though, but I guess considering the circumstances I shouldn’t complain. And if I do end up getting stuck here then there are not a lot of places in the world I would choose over San Francisco to be stuck, it is an really great city. However since getting stuck in San Francisco would also mean a delay in seeing the most wonderful woman in the world again, I am not in a good position to enjoy having my stay in San Francisco extended.

Anyway, no use in worrying about my flight until Sunday, in the meantime I am looking forward to Mike Smiths birthday party tomorrow, especially since Mike is taking the step of joining me in the 30+ old geezer club.


#1 liam on 04.17.10 at 22:56

Hi Christian,

You mention vendors wanting to incorporate the GStreamer framework, and props for that, but I question the robustness of GStreamer to handle arbitrary video. My experience (using Gnome) has been that if the file is well formed it will play (as long as their is an audio sink otherwise I get something along the lines of Totem saying that the stream is too large), but if it has an index problem, or missing headers, or any of a number other problems you can get, it simply won’t play. OTOH, VLC has will play pretty much anything, and will fix indices if asked, and never, as I recall, does it simply refuse to play something.
Now as I said I question GStreamer b/c of this, but it might very well be an issue of coding Totem/Banshee itself, where VLC detects bad streams and tries to correct them, Totem simply detects the stream type and constructs a pipeline and if there are problems with the stream the pipeline fails and that’s that.
Do you know if this is a GStreamer issue, or if it is a player issue where they should attempt to fix the stream, perhaps using GStreamer?


#2 uraeus on 04.19.10 at 21:36

Hi Liam,
Well we have a test suite of mediaclips we use for testing, and according to our latest tests we are competitive with everything else out there in terms of how large a percentage of broken files we play these days. Older versions of GStreamer will of course play less.

That said I think we do have a slightly stricter security policy than I think VLC or mplayer does and due to that do sometimes avoid trying to play a broken file if we feel it will at the same time increase the chance of a segfault for other even more broken files.

#3 Liam on 04.20.10 at 06:36

Thanks for the reply, Christian.
So you perceive this to be a GStreamer issue rather than an application issue?
I understand the methodology, and shudder to imagine the number of variations you would have to test for, and I obviously agree that it’s better to fail gracefully, but I would still say that it’s best yet to offer to fix some of these problems with the files. Obviously there is a vast number of ways that a file of, say AVC, could be encoded, and each of those options can go wrong, but testing for, and offering to fix the most “common” ones would be a nice thing.

I hope you make it back home swiftly. Last I heard, Lufthansa had run some test flights successfully so you may even be back now as I write this:)