Present Perfect


Picture Gallery
Present Perfect


Filed under: General — Thomas @ 19:17


Some filler content.

Wedding pictures from my best friend's wedding two weeks ago.

I look sharp

My friend Ward living in Boston should have started as an FSF sysadmin by now. Go Ward ! I should check up on how he's doing.

Had the in-laws over for the last three days. I didn't get to spend that much time with them since I was working, but that's ok - Kristien had a good share of activity with them :)

Wim en Christian are on a business mission and they ran into some familiar hackers while they were there. Well, they probably weren't there for the nice weather.


While getting fed up over the week again with the state of device probing in general and in GStreamer, I started thinking about what I could do about it. Wim and I had discussed some ideas with David Zeuthen at the last GUADEC, and I wanted to start doing something in that direction that we could use as well.

The first task was writing a header parser to figure out the values of macros from videodev.h, which is trickier than it seems.
In general macros can expand to strings, ints, function calls, function calls with values already filled in, ...
Johan used Linus's sparse and hacked a bit on that code to get what we wanted, while I used a brute-force approach of trying to compile a set of apps where a define is printf'd with a list of formats, one by one. The first program to compile with -Wall and -Werror and return a result on execution is the winner.

We were done at about the same time (though I managed to delete my program on the first try by running

python defines.py /usr/include/linux/videodev.h > defines.py

, pretty stupid), but Johan's was obviously faster and less hacky.

After that, I started writing object wrappers for the structs, and expanding and cleaning up the API as I went. This will be a nice debugging tool in general, and I hope to also be able to use it in Flumotion to give you a snapshot image of the device
based on the current settings.

I'm also thinking of writing a collection of "fake" kernel modules that implement API's like this. And maybe even fake modules that implement the exact same functionality as a set of webcams, so they can be used for GStreamer plugins regression tests and the like.

I also looked at wrapping the pwc-specific stuff. While doing so I noticed that the pwc driver actually supports the Logitech Spire, which is a webcam mounted on a spire and can be controlled to rotate and climb automatically.


Finally figured out if it is ok to ride with no lights on your bike at night. I got stopped by a police car telling me to "respect the traffic light" because I ran the red light. But that was their only quibble.

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.