Present Perfect


Picture Gallery
Present Perfect

Red Herrings

Filed under: Fluendo,GStreamer — Thomas @ 9:47 pm

9:47 pm

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.

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.