Google Summer of Code 2009

So the Google Summer of Code 2009 is about to get started. So interested students better start thinking about projects they would like to do. We will try to get GStreamer accepted as a project also this year, so I been spending some time going over our ideas list and student guidelines from last year, removing stuff no longer relevant and trying to improve the text and information in the existing ones.

I have also been pondering what works well and what works less well. One thing is clear to me now, which I didn’t see as clearly last year, is that you should not sign up as a student for a summer of code project to do a loosely defined project, unless you have your own clear vision for it. The GStreamer project, and I think this is true for most participating projects, can provide you with great technical mentors, who can answer almost any coding related question you might have, but we can not provide you with a ‘vision’ for how an application should look or what it should do. So if you do not have what you personally feel is a great vision and idea for an application, one that you are able to work on without getting a lot of high level feedback, then you should instead try to do a project which is more clearly defined and specified. In GStreamer terms good examples of the latter is writing new encoders and decoders or muxer and demuxers, or any plugin providing support a well known existing technology. Cause by that you usually have clear specs for what needs to be done and can get maximum utility out of your mentor as the kind of questions you would have would be quite clear and concrete.

And doing this sort of project is also often highly appreciated. I know a lot of people who have been very happy because they have been able to utilize Thiagos Quicktime/mpeg4 muxer, which he wrote as part of last years summer of code.

That said, I do not want to discourage people from doing more ‘vision’ based projects, but I am sure that on the GStreamer ideas list and on many other projects list you will find what are essentially quite loosely defined ideas. Those can be great projects, but just because someone has posted such a loose idea, do not assume the project or person in question has got a clear idea about the details. So if you want to take on such a project (or propose one of your own conjuration) make sure you have a clear inner image of the application you what to write. If you get accepted and your first question to your mentor or the mentoring organisation ends up being ‘so how should I do this?’ then there is a big chance your project will fail.

Another thing worth mentioning is that all projects listed on such ideas pages are not the be all and end all of possible projects, if you have a great idea of your own then propose that through the Google Summer of Code application page. As long as your idea seems viable and you come of looking like someone able to pull it off, then most of the larger projects at least should be able to provide you with a mentor for that project. Just be sure before you submit your application to read over it and think to yourself ‘if I read this would I understand what he/she hopes to do and do I get the feeling this person has the skills to pull it off’.

The skills part is important, cause even if the Summer of Code do provide you with a mentor this mentor can not take you from nothing to glory (most bigger organisations have done the Summer of Code enough times now to realize this and thus not accept applications which do not fill them with confidence). Instead the mentor can help you hone your skills and be someone you can bounce ideas off, but you have to do a lot of the legwork yourself. A Summer of Code project is more like doing a thesis than being taught something in a class. You are mostly on your own, but you have someone to check in with from time to time to verify that your general ideas are sound and that you are on the right track and get answers to specific questions.

Anyway I keep people posted on when/if GStreamer gets accepted and let you know where you can post your participation applications.

The sort of end to a sorta era

In March 2004 I was granted a skilled migration visa to Australia. It was something I had been spending both quite a bit of money and time on getting and it represented something I had wanted to do for a long time. In many ways Australia represented to me what the United States represented to many in the past generations of Europeans, a land of adventure and opportunity. As things would have it I didn’t end up going to Australia, instead I went to Barcelona in Spain and started working with my friends from the GStreamer community and then a year and a half ago I moved to Cambridge here in the UK as part of Collabora Multimedia.

But through these five years since I got that visa it has been something thats always been in the back of my mind, that if I wanted to I could pack up my stuff and move down to Australia. More recently I spent some time before Christmas last year discussing it with friends and family as I realized the visa was approaching expiration. I had almost decided to let it go, but then some friends of mine started talking about moving down to Melbourne and that combined with some company people locating there made me spend the last few weeks revisiting the idea once more. So today I decided to check the exact terms of my visa again, to verify the terms and dates, in the back of my mind the final expiration date was at the end of July, but looking at it I discovered it expired yesterday, 1st of March 2009. So the decision or indecision depending on how you look at it was taken out of my hands.

It does in some ways mark the end of an era for me, strange as it is to mark an era after something one didn’t do. But having that something, which I wanted to do, available to me for the last five years. A thing which by its nature would have had a huge impact on my life and also on my relationship with family and friends, have influenced my life quite a bit I think. It has been a part of my approach to the world around me in terms of how I viewed things in terms of permanence for instance. Made me more than a little restless many a time.

But now that the last train has left the station I don’t actually feel very sad, instead I feel that a new chapter starts for me. Sure I can always start a process of getting a new visa, but I think maybe its time to focus on enjoying where I am instead of wondering about where I want to go :)

GStreamer and non-GStreamer applications

One question we have often got in the GStreamer community is how to quick and easily port a multimedia application not using GStreamer to GStreamer. The answer to that question is still what it always has been, to port your user interface to the GStreamer application API and turn your processing logic into GStreamer plugin modules. But for many that is not really an option and they have been looking for an intermediate step to start out with.

Two plugins that where recently moved into GStreamer-plugins-base aims to provide exactly such an intermediate step, AppSink and AppSrc. These two plugins will allow your application to get access to raw buffers from GStreamer and provide raw buffers to GStreamer. Doing this you can take whatever output your application produce, send it into GStreamer for further processing, and then take it back into the application layer again, or have GStreamer output the data to for instance an audio or video sink. Not as efficient as having all the processing happen within the boundaries of GStreamer of course, but as mentioned, for a mature existing application that porting process might be to big to take in one step.

So if you have an application already in which you want to start taking advantage of GStreamer, these plugins might be the starting point you have been looking for.

MXF update

So Sebastian Dröge has continued to work hard on getting full support for the MXF container format in GStreamer. MXF is a quite complex format so this has taken some time, but the demuxer is really getting there these days. We should now be able to handle most standard MXF files and Sebastian recently added full seeking support to the demuxer. Screenshot of MXF playback in action below.

MXF file played in Totem

MXF file played in Totem

We are not 100% there yet though as there are still some formats we need to add support for and there is also the non-standard Avid file support which mostly works, but can use a little more love. As an added bonus Avid’s standard way to storing media is to put Audio and Video into separate MXF files which makes them a fun thing to try to support in Totem. :) Supporting those files is also needed to support the Digital Cinema extension of MXF.

So the demuxer is basically ready for testing for those of you with interest in our MXF support. Sebastian will start on the muxer soon and its development will push forward in parallel with further polishing of the demuxer.
Also some other minor issues, like Totem not yet knowing about MXF files so the file picker do not list them as ‘Supported files’, but I am sure we will clear that up quick enough.

GStreamer now got what I think its fair to say the best open source MXF demuxer out there thanks Sebastians effort and it is a big step forward for our overall effort here at Collabora Multimedia to push Pitivi forward as a video editor, especially in terms of it being able to exchange files with major video editors.

Why?

Been following the approval hearings in the US for two of Obama’s appointments, first for Timothy Geithner and now for Tom Daschle and Nancy Killefer. So I do not know these people, so I am not passing a moral judgment here and I have no idea of how easy it is to do the kind of tax mistakes that these two have done. What I do not understand though is how its possible that someone with incomes ranging in the hundreds of thousands a year, end up sitting at home doing their tax returns themselves instead of using a professional accountant? I mean it is a given that when you have that level of income there will be complex tax issues that you want to handle properly, especially if you operate in the political sphere where everything you do is heavily scrutinized. And even if they consider themselves competent enough to do these kind of tax returns, do they really have the time?

I mean if I where a politician one thing I would feel compelled to do was to make sure I had an accountant making sure my taxes was a 110% correct as no matter how innocent the mistake made would come out looking very bad as these 3 cases prove.

Non-Arabic in Movies

Roozbeh wrote a blog entry where he points out how Hollywood media tends to make a lot of silly and phony mistakes when depicting Arabs and Middle Eastern culture. Reading Roozbeh’s entry one could be made to believe that the lack of attention to details are limited to the middle east. I found his mention of how 24 had used the named of a former Iranian president to name some of its arab antagonists amusing, as is not to different from what I remember happened when the series The X Files placed an episode in Norway. The ‘random’ name of one of the people was Mr Brundtland. Which is not a common name in Norway at all, but it is the surname of a former Norwegian prime minister. And the average dress style was probably as representative of modern Norwegians as the dress styles of the first pilgrims are of todays US citizens :)

Funnily enough one of Norway’s largest newspapers made an article just 5 days ago, an article that talks about how Norwegians are depicted in US movies and TV. They mention for instance that Norwegians have been depicted wearing lederhosen on multiple ocassions, for instance in The Sorpranos, which is a Bavarian tradition, and which has nothing to do with Norway at all.

Another fun quote from that article is from CSI where they are reconstructing the face of a dead Norwegian woman and one of them says something along the lines of “There are a few Norwegian brunettes, but she is most likely to be blond, and then puts on the reconstruction a platinum blond wig”. Anyone who has been to Norway would know that there are more natural brunettes than natural platinum blondes. And most of the women who are platinum blond are so for the same reason they are so in the US; hair bleaching. In other words the colouring of the curtains doesn’t match that of the rug. :)

Another example of not caring too much about the details I remember, which is not directly related to Norway though, is from the movie Swordfish. At the start of the movie there is a Finnish superhacker stopped at the border, whose name was something like Axel Torvalds. Then later on when he speaks ‘finnish’ with his laywer, they actually speak German. Also if they wanted to style him after Linus they should probably have him speak Swedish and not Finnish as Linus is from the swedish speaking population of Finland :)

So Roozbeh, don’t worry, everyone gets misrepresented by Hollywood :)

Battlestar Galactica

Due to public request let me add these words: SPOILER ALERT!

So I ended up catching up to Battlestar Galactica this weekend. Seems Season four has recaptured much of the magic of the first two seasons, at least no ‘filler episodes’ so far, the storyline seems well woven and the things that happen, while often surprising, feels like they are meant to happen and are part of the bigger storyline.

The only irritation I found so far in season 4 is that the dilemma that they might be leading the cylons directly to Earth as they are fleeing towards it, is never mentioned or discussed. I guess it could always be claimed that maybe there was such a discussion ‘off-screen’, but it seems to important a question for me to never be brought up during the show.

Another issue that nags me a little is that if the original colonists found 12 planets close to each other that where habitable, then the current struggle to find such a place seems a bit weird, they should be rather plentiful :)

But these small issues, I recommend anyone who hasn’t watched Battlestar Galactica in a while to reconnect, as the psychology and tension of the series is exactly what it should be and the writing is superb. For instance the ‘fall’ of Felix Gaeta is a million times better than the feeble attempt of George Lucas to describe such a strings of events with the young Anakin Skywalker.

The time of Git has arrived

The GStreamer project has long been the last bastion of CVS, keeping the fire burning for the first and true version control system. So while the rest of the world had their dalliances with a long string of version control systems, we stayed true to our first love.

But alas, sometimes even the mountains have to change, and after Obama called upon us to be the change we have decided to embrace the new world order, and GStreamer have now embraced Git. A big thanks goes to Edward for his work on making this happen. If you want to grab the GStreamer git Master repo be sure to check out our updated developers pages for information.

HDMI why did I fear you?

So yesterday my housemate Ian and myself wanted to watch the Obama inaguration event from the Washington Licoln Memorial. Unfortunatly none of the TV channels we had available turned out to broadcast it. Luckily HBO was streaming it live on the net, but that gave me the issue that we didn’t really want to watch it on a laptop screen with laptop sound. So I decided to try something I feared to try up to this point, which was connect my laptop to the TV using the DVI output.

As it turns out this just worked, I connected the DVI cable to the HDMI input on the TV, fired up the Nvidia Display Settings application, pressed ‘Detect Displays’ and choose to set it up as a Twin view screen. It just worked. I then dragged totem over to the TV display and put it in fullscreen mode and was set to go.

Well almost, as it turned out when the event started, HBO had put in place a IP blocking for people outside the US. Well 5 minutes later I had found a US proxy server and was able to click into the stream. Once I had it going in the browser I just use Totem’s ability to take the stream over into a separate Totem instance then play that fullscreen on my TV. For the sound I just hooked a cable into my headphone output and connected it to my hifi system. Sure not Blu-Ray quality image and sound, but definetely acceptable sound and video quality :)

Going FOSDEM this year

I will be attending FOSDEM this year after having stayed away the last couple of years. Didn’t enjoy the last one I did attend some years ago, but having a bad fever can explain most of that :)

Looking forward to meeting a lot of people there who I haven’t seen in some time. And I guess there are a lot of things happening in the world perfect for discussing over some good Belgian beer :)