Home

Welcome to Remlab.net! This is the home page of Rémi Denis-Courmont.

Who am I?

I am currently working as a Linux kernel and system software engineer for Nokia in Helsinki, Finland. I am also one of the core developers of the VLC media player at the VideoLAN project, the original developer of Miredo, the Teredo stack for Linux & BSD, and the maintainer of the minisap server and ndisc6 IPv6 utilities.

News

The Atom feed is here.

30th December 2009 - VLC on a diet
VLC is on a diet...
5th October 2009 - VLC on smartphones
Increasingly often, the owner of a smartphone asks where/when/if the VLC port for his/her gadget is available...
See you at Maemo summit 2009!
I will be attending Maemo summit 2009 and presenting the Ofono project. It will be held in Amsterdan, Netherlands on the 9th, 10th and 11th of October.
5th September 2009 - VLC ported to Maemo 5 for Nokia N900
It has been in the work for a while. Now, all of the important underlying libraries are built (kudos to Måns Rullgård for his help with FFMPEG). The video output works out of box with XCB & XVideo, although screen unblanking needs to be re-implemented. The audio output pipeline needed a little bit of optimizations, and A/52 and DTS still don't work; this is a side effect bug of the VLC SPDIF pass-through. I have not been able to check how the Qt4 UI performs in Hildon 5, but at least command line works now :)
16th August 2009 - hotkeys with VLC embedded video!
More than 4 years after its initial filing, I finally fixed the infamous bug that prevented interface key combination shortcuts when rendering a video embedded inside the Qt4 interface. In fact, this bug even predates the Qt4 interface. It was inherited from the old WxWidgets interface, as it lied in the video output code rather than the UI. As a special bonus, another odd side-effect bug was addressed too. And over a hundred lines of legacy Xlib code was removed :) The trick simply consisted of not catching X11 key press events from the video output, but only from the UI. But first, the UI had to be able to catch key presses also when in fullscreen mode, which was not possible without a significant re-architecting of the video window management code.
30th July 2009 - MIDI with VLC media player
VLC has had support for MIDI files for long, but the way it works is not completely obvious...
8th July 2009 - The X11, media players, OpenSSH security issue

What is the link between X11, VLC and OpenSSH? Click here to continue.

7th July 2009 - Does VLC s*ck on Windows?

The official VLC 1.0.0 binaries were unleashed only a few hours ago, and we already have feedback that it behaves rather badly on Windows Vista. This is not entirely unexpected, but nevertheless a bit disappointing given how long the 1.0.0 final release was held blocked by the sole Windows port. But is VLC really that bad on Windows? And why?

A quick look at the forums (which are not available right now), the bug tracker, or even the development mailing lists, makes it look very much like there are many more problems on Windows. Lets face it, this is in great part true. For instance, there are problems with certain Windows-specific parts such as the DirectX video outputs and BDA input (DVB for Windows).

But there are actually quite a lot of bugs on Linux too... The trick is, Linux users mostly, and rightfully, file bugs against their distribution - and the distribution people are supposed to forward them to us if appropriate. You can find plenty of unfixed bugs on Ubuntu's Launchpad or on the Debian BTS, although relatively few of them are forwarded to the VideoLAN team (I will not blame the distros - they tend to be too busy, as we do). On top of that, some Linux bugs are blamed onto users not compiling the software properly - sometimes unfairly. That is an unlikely occurence on Windows.

And then, we have all those tricky problems with certain files, or inputs, etc. Many of them are filed against the Windows port. Probably, a fair share of those bugs affect other platforms too. Yet as they are more Windows users, they are found to occur on Windows by the laws of statistics.

Anyway, the question of how to address the recurrent issues on Windows remain wide open. The lack of Windows developer is at the core of the problem. There are few open-source zealots who care about Windows and are likely to start developing VLC for Windows. And as time goes, the issues pile up, which might be discouraging.
Clearly, begging for help does not work. Taking users hostage by not releasing Windows binaries, in hope of attracting attention, does not work either. And waiting for a miracle... well...
A short discussion on IRC today reminded me that the former two Windows VLC developers were both paid. Indeed, Gildas Bazin stopped working on VLC when he changed jobs and his new employer would not have him work on VLC during work time. He wrote the largest parts of the Windows port, that remain to this day, until he left the project in May 2007. Then, Damien Fouilleul, best known for the VLC ActiveX plugin, left in February 2008 due to disagreements with my admittedly authoritative decision making (to my own defense, I need to mention that those who expressed their opinion agreed with me).

So maybe it all comes down to a company paying some Win32 and DirectX capable C programmer to work on VLC. I am not very optimistic given with the short-term world economic outlook, but if you do have big pockets, your help will be welcome.

6th July 2009 - VLC 1.0.0 finally out!

After the longest feature freeze stabilization period in the project's history, VLC 1.0.0-final is coming at last.

I think the freeze period was way too long, and as boringly usual, the Windows port seems like the main culprit. This delay is not quite a surprise. Indeed, we had similar issues with 0.9.0. Also, the Windows port has the most infinitesimal developer per users ratio by far, since it has -supposedly- the most users, yet practically no developer at all. In other words, every one wants VLC to work on Windows, but nobody is willing and capable of delivering.
The (not very scientific) developer statistics of mine for the last month are pretty telling:

In that respect, I consider the mere survival of the Windows port to be a great success, and the fact that it actually mostly works nears the miracle. Of course, some Windows users will complain that their critical blocker bugs are not fixed anyway... (never would they accept switchimg OSes though)

Lets them not spoil the party! VLC will never be perfect, as won't any large piece of software. But VLC 1.0.0 will not be the VideoLAN project's variant of KDE 4.0. VLC 0.9 was probably our KDE 4.0 already. VLC 1.0 adds relatively few new features and ground breaking changes, and fixes the most annoying regressions from 0.8.6 to the 0.9 series. Note that the embedded video support is back and at last, stable.

News archive: 2008.


Hosted projects

A few of my open-source projects are available here:

Miredo: Teredo for Linux and BSD
Teredo (automatic tunneling of IPv6 through NATs) implementation.
ndisc6, tcptraceroute6, etc
A small collection of IPv6 diagnostic tools including IPv6 replacements of arping (ndisc6) and tcptraceroute (tcptraceroute6).
TCP re-engineering tool
A portable TCP ports forwarder with content logging capabilities.
Web6
Online French language introduction to the IPv6 protocol.

Opinions

Some technical personal opinion (or factual) articles:


Publications

UDP-Encapsulated Transport Protocols
IETF Experimental individually-submitted draft.
Network Address Translation (NAT) Behavioral Requirements for DCCP
IETF Best Current Practices working group draft.
Test vectors for STUN
IETF Informational working group draft.
Connection setup negociation for the Message Session Relay Protocol
IETF Experimental individually-submitted draft.
A Survey of Protocols to Control Network Address Translators and Firewalls
IETF Informational individually-submitted draft, co-authored with Lars Eggest, Pasi Sarolahti, Vlad Stirbu & Hannes Tschofenig

Presentations

N900 and oFono
N900 cellular architecture, relation to oFono project.
Presented at Maemo Summit 2009, Amsterdam, NL.