Le blog de Olivier Crête

You are in the archive for the English

Categories

Me

My Planets

Projects

Archives

May 2012
M T W T F S S
« Nov    
 123456
78910111213
14151617181920
21222324252627
28293031  

RSS 2.0


Log in

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.

Collabora has provided me with a new computer: a ThinkPad x60s. Its really nice, extremely light and the battery lasts for a very long time (enough to fly to Europe!). On the inside, it’s almost all Intel, which means that there are Free drivers for everything (now that iwlwifi has been released). Well actually, not everything, one small chip resists, the modem. But it seems to be supported by Linuxant’s hsfmodem (not that I would use it). Did I say that suspending, both to RAM and to disk works like a charm? Hot-plugging an external display also works great with Xrandr 1.2 (again, thanks Intel!). And everything I needed to make it work is right there, in our Portage tree.

We now have a cool Montréal office. It’s still kind of a mess, we just moved in yesterday. You can get a glimpse of another room on the right, its still empty. And we have a fully featured kitchen (and a bathroom).

Collabora Montréal

Monday, I started working at Collabora. Its been a pretty exciting few days, I guess mostly the excitement of the new job, new people (well new person) and new office, which we have yet to find. I can’t say how happy I am to finally be working on Free Software and being paid for it. And now that I do stuff that’s not secret, I hope I’ll be blogging more often (but don’t really count on it).

I’ve kept myself busy doing stuff on Farsight. For those who aren’t familiar with it, Farsight is a gstreamer based system to do voip and videoconferencing. Its currently used in the Nokia 770 and N800 internet tablets.

During the last few weeks, I’ve been playing with my new toy, a bluetooth Logitech Cordless Desktop MX™ 5000 Laser (could they make a shorter name?). I got it as a replacement for my MX 3100 which has battery problems (and the battery on its mouse isn’t replaceable, so they sent me a whole new kit, thanks Logitech!). The MX 5000 has a pretty standard Bluetooth MX1000 mouse, but the really cool thing is the small LCD on the keyboard.

Sadly, there was no way to control it from Linux. I hoped it would be similar to the G15 for which tools exist, but its not. So I got on a quest to use it to its full potention on my favorite Free operating system. Luckily, I found someone who had a similar problem on Windows and did a lot of reverse engineering and made a .NET library. So armed with this library and a Windows usb sniffer, I managed to get most of the screen displaying functionality working. And I created mx5000tools. The core of the tools is a library that incorporates all of my knowledge off the keyboard’s control. There is also a command line utility called mx5000-tool that exposes most of the functionality of the lib for scripts and such. The HID reports returned by some keys of the keyboard are not currently interpreted by the HID driver in my kernel, so I made a small deamon (mx5000d) that translates them into usable ones and then forwards them using uinput (so X can read them with evdev).

I still have some limitations, it seems that some HID reports are not passed to hiddev by the Linux usb hid subsystem, so we dont get events from some of the keys. And it does not work in Bluetooth mode on Linux because Bluez does not yet have full HID support with hiddev. Finally, we still do not know how to change the content of the menus.

I’d also like to improve mx5000d to have features similar to the Windows software with notifications of IM messages and the name of the currently playing song. I guess galago and the d-bus interfaces to gaim/rhythmbox will be pretty useful there.

 

This page is XHTML 1.0 Strict and CSS 2