Present Perfect


Picture Gallery
Present Perfect

Red Herrings

Filed under: Fluendo,GStreamer — Thomas @ 21:47


Dead tired today because of excessive IRC-ing.

Today Wim and I chased the bug in the server streaming from Norway (which we haven't even been to yet, so thanks a lot Rolf for all the work you've done for us !) where at random points in the stream we get weird artifacts and psychedelic colors. After fixing a bunch of other bugs that we theorized upon then verified with testcases, and plugging those, we still hadn't nailed it. After four hours I decided to start right over, going over everything, and dmesg was providing me with a clue - lots of frame read underruns from the webcam. It seemed to produce about 30% incomplete frames. More conjecturing, testing, hypothetising and verifying and then it dawned on us that maybe the fact that the webcam is serving both video and audio over USB might be problematic in the kernel.

And yes, using sinesrc as the audio source material seems to give a bug-free video stream. Luckily we are planning to stream from line-in at GUADEC so we won't run into that problem. Now that we know what's causing the funny artifacts we have no problem recommending you to watch them on the low-quality stream or the high quality stream.

Second red herring was me being stupid. I was fixing alsasrc so that it provides a clock that matches the data it's producing, but I also wanted to keep around a status struct object for ALSA in the element so that it didn't need to be allocated all the time. Instead of changing _alloca to _malloc however I kept _alloca, then couldn't figure out for an hour why the simple pipelines kept on crashing. Duh.

The bright side is I probably will never forget to use malloc over alloca in these cases anymore.

I have a confession to make

Filed under: Fluendo — Thomas @ 04:57


I work for an evil company. We are out to steal your software. Lock up your kids, or we'll make them write code for us. We intend to sit on the beach while you toil, and we will do it with impunity.

Obviously I should not be allowed anywhere near a keyboard at 5 AM. If someone has a device for sale that can give me instant cost/benefit analysis for decisions I make (like, whether or not to get to bed during an IRC discussion) I wouldn't mind paying sterling silver for it.


Filed under: Life — Thomas @ 02:27


What a week for my baby and me. She's getting ready for her radio show which starts next week. Yes, hard to believe, but true - the old radio station from Belgium where we both used to work has given her the opportunity to do her radio show from Barcelona ! So, they brought the equipment to the same building where I work, allowed her to hire a friend to help do production, and sent over a technician, and everything seems to be more or less ready. It's a testament to how good she really is at this job if they really want her that badly.

Needless to say this stresses her out enormously after basically not doing very much the last six months. Which is great for both of us, since I'm feeling the same sort of stress getting the streaming stuff ready. So for once she doesn't complain about me getting home late, and we can support each other knowing that things will be better after next week. Don't I just love my girl... She's going to do just fine.


Filed under: Fluendo,GStreamer — Thomas @ 02:22


Hectic work week. Today for example was a holiday but we're all to wired up to take it :) I would just sit at home stressing about stuff still to finish anyway.

Finally got a gst-plugins release out. Apart from the usual bitching by the usual suspects it went out fine, though I am starting to loathe the general "wait and see and complain afterwards" attitude I have to deal with. I'd much prefer people actually doing testing on the prereleases I make instead of just complaining why they don't know what's going on. But I guess it's a natural human tendency - people don't like doing boring stuff like testing before releasing and people feel it is someone else's job to keep them in the loop 24/7.

On some good notes, the streaming is coming along nicely. Wim has done quite some tweaking and testing to the effect that you can CTRL-Z the server, bg it, and then when you fg it after some time it manages to pick back up and stay synchronized.

While creating a bunch of components today that basically took a live audio/video feed (synchronized of course) and encoded it to a) a high-quality Ogg/Theora + Vorbis stream, b) a low-quality one, c) a vorbis-only ogg stream, d) a multipart smoke + mulaw stream, and e) the a) stream captured to disk, we noticed something funny going on with the video. It started getting fringes and colourful effects. It took some thinking to realize that tcpserversink is probably dropping some buffers for some clients when CPU is close to 100% and not everything is getting enough CPU slices. Good that we picked that out today - Wim says it should be a fairly simple fix to just split it into two threads and keep a GArray of buffers around to make sure that a) clients get all buffers without dropping and b) slow clients get dropped without obstructing the fast clients.

Also fun - the servers in Norway got installed this week by Rolf, and he gave me access. It took me about half an hour, including building CVS code and configuring a bunch of files, to set up the machine for streaming. Nice to be able to get packages from the projects I work on, fedora.us, GStreamer, and kernel modules combined, and just Have It Work.

So, here's hoping we are ready to stream ...


Filed under: General — Thomas @ 01:32


Ten days ago we took a trip to the mountains. Nice weather, everything OK, all of us in short or skirt (except for Wim, who's always dressed like Wim naturally).

Half an hour in, we were caught in a rainstorm, and we were soaking wet.

Here's us at the end, completely rained out. While slightly dangerous it also was very adventurous :)

« Previous PageNext Page »