GStreamer and Phonon

Starting 1st of November Fluendo will be dedicating a resource to implementing a full featured GStreamer backend for Phonon, the multimedia API for KDE4.
The goal is to make the best backend for Phonon possible in order to demonstrate the qualities of GStreamer to the KDE community and hopefully lessen the chance of fragmentation in the free software multimedia space. This work is done in cooperation with a major industry player who shares our goal of providing the Linux and Unix communities with a unified multimedia API. I let them let announce their name themselves due to contractual reasons, but I do expect to see them talking publically about this at some point as it is quite direct follow-on to already announced efforts they are doing to bring more unity the free desktop under the auspices of the Portland project and the LSB.

As some of you know I have personally voiced reservations on Phonon in the past, and while I still think some of my concerns are valid, I hope that this effort can be a starting point for a more productive exchange of ideas. If we manage to make the GStreamer backend as good as we hope to then it would be a big step forward in resolving the worries some KDE developers have voiced about the readiness of GStreamer and maybe even encourage the development of a full set of Qt-style binding to GStreamer to suplement to the high level objects of Phonon.

I also hope is that this work will be a big step towards making users life much easier, as it will allow distributions to ship GStreamer plugins that enable proprietary codecs, and know that no matter if the user uses a GNOME/GTK or KDE/QT application the user will get access to these formats (at least as soon the licensing of applications are sorted out ;).

Time to give Solaris another try?

We have decided to try to support as many of our plugins as possible on the Solaris platform in addition to GNU/Linux. Due to this I installed Solaris Express under vmware on my machine this week. I have to say that Sun is making great strides forward with Solaris as a developers workstation. Coming at this from someone who has been using Red Hat/Fedora for a long while, this Nevada build was the first Solaris install I could actually see myself using for more than Solaris specific testing. And I mentioned this before, GNOME seems snappier when running under Solaris for some reason, even when running it inside wmvare.

DVD and Windows Media

On my last blog entry I got a couple of questions about the status of DVD and Windows Media in GStreamer.

In gst-ffmpeg CVS it now supports WMV9, so as soon as the next release is out then WMV9 support will be available through that. Also as I have mentioned here Fluendo will launch our proprietary Windows Media plugins very soon now, maybe as early as next week.

In regards to DVD support, well with the new decodebin, which we hope to integrate within the next week or two, getting DVD support working should be much easier. That said someone would still need to do the work. At Fluendo we are due to contractual obligations not able to directly participate in the development of the open source DVD plugins, so we need external contributors to do this work. Anyone interested in helping out should talk to __tim on on irc.freenode.com for the details of what needs doing.

Dirac

Thought I should do another Dirac update. The Schroedinger project is progressing nicely with the code currently being in bugfix and optimize mode. I hope to push out a release as soon as we have a couple of troublesome bugs fixed. We have sucessfully muxed Dirac into both Ogg and MPEG Transport Stream at this point and I am sure mappings for more formats will come.

Ours is not the only Dirac effort though, there is of course the reference/development version by the BBC and there is also a project to make a hardware implementation of Dirac by Peter Bleackley.

We are rapidly moving towards being able to start pushing Dirac with full force. The good thing at this point is that we have a lot more tools to start pushing Dirac with from day one. Like when we started pushing Theora there was a problem that people found they had few or no tools available to make Theora files, which caused even the strongest supporters of open formats to stumble. At this point hooking Dirac into tools such as Flumotion, Pitivi, Thoggen, Totem and many more is either a quick job or something that happens automatically, all thanks to having managed to build GStreamer and the eco-system around it.

DVB – I mentioned in an earlier blog Zaheer has been working hard on getting our DVB support up to scratch. Things are starting to come together know with a DVB signal being converted to Ogg on the fly and streamed using Flumotion. Some work remains before we can integrate DVB into applications like Elisa (and maybe even Totem?) but things are moving forward.

RTP – On the RTSP/RTP side progress is also being made. There is for instance a set of RTP paylaoders and depayloaders in CVS now for Vorbis. The plan is to also get a set for Theora in there.

Software and Copyright

Had an interesting conversation today with Wim about copyright and software. We are currently working on integrating some RTSP patches into GStreamer and it turns out these patches contain some code originating in Xine which means we need to get a relicense on the code to the LGPL or replace the GPL parts.

Part of the problem is that people in the free software community tend to be rather sloppy with copyright statements when copying code around. So when people take code from a GPL project to put into another GPL project they often don’t copy all the needed copyright headers over as well, and also a lot of people when making significant changes don’t add their names to the copyright header of the file.

On top of that there are issues like the hard to grasp definition of what exactly constitutes a copyrightable contribution and the general problems with programming languages not being very expressive by nature, meaning that there isn’t that many (non stupid) ways of doing something.

Neither of us being a lawyer probably doesn’t help either :)

Anyway all of this makes it a quite extensive task to a) identify all (potential) copyright holders on a specific piece of code. b) track all these people down. c) get their permission to relicense d) if anyone says no, identify exactly what is their contribution and figure how that can be removed. Figuring out what to do when things are not easy to rewrite in any intelligent way, as a rewrite would basically look like the original and so on.

In terms of rewrites being identical to the original copyright law addresses this with rules saying that only the expressive elements of code is copyrightable, but its not easy for a layman to have a clear feeling on what that translates into in terms of a specific piece of code. In many cases you can never really know, even with a good lawyer to help you, before a judge gives final verdict on it. And having a judge give final verdict is what you probably want to avoid in the first place as that process costs a lot of time and money.

What is certain is that it do seem clear to me that copyright law was not made with gigantic collaborative efforts, which open source software is an example of, in mind. (ok, I am not expecting any awards for spotting the obvious :)

Calling out to my geeky side

Can’t help it, but this network card
just appeals to me. The specially designed heatsink and the fact that it runs an onboard version of linux calls out to a geeky side of me I never even knew existed. Unfortunatly the linux host driver are not available yet, but their FAQ promises it sometimes this fall.

Kernel hackers and the FSF

A group of kernel hackers came together and wrote a position paper on the current GPL v3 draft. To which
Eben Moglen responds
with a renewed invitation to join the process and the FSF replies by trying to smokescreen the issue by arguing semantics.

Moglen’s invitation is in my opinion pure bullshit. Being invited to partake in a process on terms where the rules are staked against you from the outset is next to valueless. The only thing those kernel developers would accomplish with accepting Eben’s invitation is to have their names used to legitimize the process while in effect not getting any real chance to change the outcome. The FSF have made it very clear in the public statements so far and their reaction to a lot of public feedback on for instance the DRM clauses that they do not intend to change this apart from maybe adjusting the semantics a little.

So Eben if you want to be taken seriously when offering invitations make sure in the future to be invitations to processes which there is realistic give and take possibility. Nobody like getting invitations to use and abuse setups.

Linus Torvalds remark about how explaining the problems with the current draft hit the mark with the FSF. Trying to discuss something with them tend to only lead to the typical FSF way of arguing; trying to derail the debate by arguing about semantics and the words used instead of the issues themselves.

Texas Instruments and GStreamer

Was very happy to see Texas Instruments announce their work
on integrating
GStreamer with the OpenMax acceleration architecture. A big thanks to Texas Instruments for this contribution to GStreamer.

Fluendo hiring

On the topic of GStreamer and embedded systems. We are looking to hire another motivated coder to work on Elisa and join our crazy team here in Barcelona. Anyone interested please Philippe Normand at ‘philippe at fluendo d0t com’ or come into the #elisa channel on IRC channel on freenode. Skills we are looking for is experience with GStreamer, Python, Twisted, OpenGL and uPnP so if you know one or more of these be sure to get in touch.

On Africa

Bob Geldoff recently wrote a
essay
in one of Norway’s major newspapers repeating how we should not forget Africa in the face of other problems in the world. The Norwegian minister for foreign aid comments on the article mentioning his agreement and points out that the number of people killed in Rwanda during the conflict there meant that for every third hour the same mount of people where killed in Rwanda that was killed in total during this summers Israel/Lebanon conflict.

Two points strikes me. First of all its a bit dangerous to in some sense rate conflicts based on number killed. Taken to the extreme it would mean that you basically ignore any conflict/problem until it reaches top 3 in death numbers. Nobody is arguing for doing so of course, but every time you do argue with number of dead you are in some sense promoting that view.

On the other side there also is the moral question about why the big
butcherings in Africa tend to fall from public interest quickly while relatively speaking smaller conflicts like the Israel/Lebanon one don’t.

A lot of possible answers of course, ranging from historic importance of Israel to a world heavily influenced by Judaism and its two spin-off religions Christianity and Islam. Bob Geldoff in his article also points out that there might be a general feeling in Europe that Africa is a hopeless case, that no matter what is done so are there seemingly always new and bigger tragedies transpiring there. So maybe people haven’t given up in the same way on the Middle-east yet. That said I do seem to feel a bit of fatigue creeping into the European population on the problems of the middle-east.

International politics

Been lots of political blogging on Planet GNOME recently, which I don’t mind, but I do feel that the political realism in the blogs seems to be going out the window in favour of slogans and quoting of populists.

First of all are there double standards being applied in the world? Yes, there are. Do the US specifically apply double standards to various issues? Definetly. The sad thing though is that the international leaders who critize the US the hardest for its double standards tend to apply even more extreme double standards themselves. Whats more is that unlike the US they do not tend to allow free critique of their own double standards in their own countries.

Is the US doing thing abroad it probably shouldn’t be? Definetly. But to think the world would be a better place with a US government that totally disenganges from international politics is rather hilarious.

Is the UN security council having permanent members with a veto power ‘unfair’? Sure. But a UN not giving the US, Russia and China at least a veto right would quickly become even more irrelevant and ignored than it is today. Idealism is nice, but sometime one must let a little bit of realism into the picture.

But to end this blog with a little sarcasm in the spirit of the populists quoted on the planet recently. If Ahmedinejad want Israel re-located to the Christian world that is easy to accomplish. Just end the muslim occupation of the Byzantine empire :)

Update: Just discovered that Chavez has made Noam Chomsky the number one bestseller on Amazon. For some reason I find that quite amusing :)