Le blog de Olivier Crête

You are in the archive for the English



April 2024

RSS 2.0

Log in

The PR1.2 update of the N900 firmware is now officially released. The big new feature is video calls. It is also the world’s first phone to offer Skype video calls as well as Google Talk compatible video calls!  And all of this uses Farsight2, the GStreamer based voice and video calling library. The whole Farsight2 team is very proud to have been able to participate in this world first. And just like all other calls on Maemo, video calls use the Telepathy framework. We obviously also support Jingle (aka Jabber aka XMPP) and SIP just like the N800 and N810. But we also add H.264 support.

As a side note, my colleague Sjoerd (who now has a  blog!) has made VP8 work with RTP. The Googlers are working hard to make some kind of standard. So hopefully, with Google’s clout, we’ll be able to have calls between a fully free platform and a hardware phone!

The part of the socket(7) man page about setsockopt(.., SOL_SOCKET, SO_PRIORITY…)  says:

“For ip(7), this also sets the  IP  type-of- service  (TOS)  field  for outgoing packets.”

I wanted to know how exactly it mapped the socket priority to the ToS field, so I looked in the kernel code for a while, and it turns out that in recent Linux 2.6 kernel, this is a lie. The ToS field is never set when the application selects the socket priority, only the internal priority of the packet is set. That said, the reverse is true, setting setsockopt(.., IPPROTO_IP, IP_TOS…)  sets both the ToS header field and the internal priority of the packet.

So the question here is: Who is wrong, is the kernel buggy? Or is the man page incorrect?

Also, dear lazyweb, is there any support for applications to set the DiffServ field? Or are they only settable through iptables?

I’m in Bangalore for foss.in. First, the country is awesome, the Indian food is amazing, etc, etc. The weather is also pretty nice this time of year, not too warm, not too cold, just right. Although it has been a bit rainy in the last three days.

But its not only the country that is nice, it is also an awesome conference, the organizers are really doing a great job. The venue is nice, the speakers are really well treated, etc. But more importantly, the level of the conference is also quite impressive. It is a great place to meet lots of good developers that we rarely meet in the “western” conferences. Free Software is really alive in India and it is great to meet the people here. After my Farsight 2 talk (slides), there were some really good questions, from people who had actually tried to use it. It’s the fourth (and last) time that I give this talk in front of different audiences, and I really got the best questions and the best interaction. The organizers wanted to make it into a truly developer oriented conference and they’ve really succeeded.

One of my non-geeky friends is currently trying Linux on his laptop. For some reason, he stopped it incorrectly and on the next reboot a fsck was forced and the fsck failed… he gets this:

*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D to continue):

Obviously, at this point, he had no idea what to do… He couldn’t boot into his system and he had no idea how to fix it.


And it seems all distributions are doing it, including the supposedly user friendly ones like Fedora and Ubuntu. All non-geeks will be completely lost at this point…

What should be done is: “Repairing your file system may cause errors!!! Do you want to: [F]orce Repair, get to a [S]hell or [R]eboot?” .. ideally in a nice curses front-end. And in the force repair case, just run “fsck -y”.

There seems to be this new fad at adding tabs, but GnomeICU has had them for years, since 2002. You guys are like sooo late.

GnomeICU has tabs

Students! There are only a few days left (until Monday) for you to submit your Google summer of code applications. This year, I’m hoping to mentor students working on Farsight 2 or on integrating Farsight in various applications. The most interesting project I’m proposing this year is adding plugins for the various non-free protocols to Farsight (see details), MSN is particularly easy since most of the reverse-engineering has already been done, its just a matter of coding it. GStreamer has a page on how to write a good application (hint hint, Farsight’s project are part of GStreamer this year!). I’m also a mentor on Gnome & Gentoo in case anything interesting is proposed there, so if you have good idea, go submit them now, time is running out!
Update: Google has extended the application period for one more week, so there’s still time… And we already have a good applicant for MSN, but please do apply for Yahoo, AIM, ICQ, etc!

Its my first time at fosdem, and I’m really impressed by the sheer size of the conference, every European Free Software developer seems to be here (its really nice to see old friends and meet new people, there just seems to never be enough time to see them all!). Also too many talks at the same time, too many interesting things to see! I also got to give my Farsight 2 talk (slides here) and the talking part when pretty well I think, but the demo sucked. We never got the network to work properly (not trying it more than 5 minutes before the talk ended up not being a good idea). So I had to do it locally with one camera and 2 test sources, its sad, considering how well it worked at linux.conf.au (see the LCA video to see it work). Also considering how many bugs I fixed since LCA and that I even got h.264 to work.

First, this is my first post on Planet Gnome, so I’ll introduce myself. I’m one of the developers of GnomeICU and Farsight. I work for Collabora, mostly on Farsight and related things. For those who don’t know, Farsight is the GStreamer based audio/video conferencing framework used in Telepathy. Its most prominent platform is currently Nokia’s Tablet, but its coming to a desktop near you soon.

For the last two months, I’ve been working on a complete redesign of Farsight, in an effort we call Farsight 2. The new generation RTP plugin is based on the excellent RTP implementation by Collabora’s own Wim Taymans. With it, we gain some exciting new features, most prominently A/V synchronization and multi-party conferencing. Also, the first generation wasn’t designed with video in mind and it wasn’t nice, but this time we’re trying to make it right. It’s now a GStreamer element that implements an interface, so it can easily be used in GStreamer based applications to give some of the integrated features Telepathy is designed for. I’m also trying to have nice unit tests, so we can try not to have the same kind of regressions we keep on fighting with Farsight 1. We also want to keep the API as simple as possible and well documented.

This week, I’ve finally reached an important milestone.. it works! So I had to make a screencast (sorry for cutting it a bit short at the end and no, its not slow, its the screencast thats 10fps):

Three way conferencing with Farsight

For those who want to try, you need the CVS HEAD of gst-plugins bad, and for the demo gui, a patch to gst-python. Then you can try my git tree. It’s all very new, so if it breaks, you keep the pieces. I’d also like to thank Philippe Khalaf and Youness Alaoui who worked a lot on the design and all the people who wrote the code that was carried over from previous versions of Farsight.

Update: Oops, the git repository was not fetchable by http, its now fixed… Updated again: now we have a gitview and git server, so I’ll let the link point there instead

Last week was GUADEC in Birmingham, it was really fun, I got to see some old friends and also meet many people that I only knew from IRC, including many Collaborans, they really are a nice bunch. And even some Gentoo developers! There were lots of interesting talks, great Ale (and Pimm’s!).

Nokia also released a Developer Preview of the new RTCOM software which includes the latest version of Farsight. So you can now do calls to SIP services on your Nokia N800. We hope many people try it and find the interoperability problems before the next release. Many SIP implementations are at best barely standard and we’ve end up finding subtle problems with many services with tested.

See you all next year in Istanbul!!

I just added the net-im/pidgin-2.0.0beta7 package to the portage tree. Its the continuation of net-im/gaim. Only two of the plugins that we have in portage (pidgin-rhythmbox and pidgin-extprefs) have released versions that are compatible with the new name. When most of them (at least the most popular ones) are released, I will add a gaim-9999 ebuild that depends on net-im/pidgin to help the transition. Then, some time after the final version of pidgin 2 is released, I will add gaim and all non ported packages to package.mask then remove them from the tree. That will also allow us to cleanse the tree of unsupported packages.


This page is XHTML 1.0 Strict and CSS level 3