[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Work Work Work

Filed under: General — Thomas @ 6:52 pm

2005-7-12
6:52 pm

this guy now works for us

Michael Smith (of icecast and vorbis-tools) joined us yesterday. He made his first commit to Flumotion today, woohoo.
All of us here at the office are currently working hard on GStreamer 0.9
Some excellent progress is being made, definitely liking some of the things I see. Andy is busy porting over elements that Flumotion uses, Edward is rocking hard on the python bindings, Wim is working out more core issues and finishing his GLib patches, and Christian is cheerleading and testing.

I started running Jamboree with 0.9. I imported my 120 GB of Ogg Vorbis files and saw it die around 10% of the way through due to lack of memory. So I wanted to valgrind the gst code it’s using to read tags, but ever since upgrading to FC4 my valgrind kept segfaulting on me. Until I realized I had an old compiled-from-source copy in my homedir’s prefix. After removing that, it worked again. And after doing that, I started to actually valgrind our unit tests. That was a good idea – it turned up a whole bunch of leaks and issues to work on. I stole the idea of valgrinding regression tests from Conrad Parker, and it’s pretty damn smart. So I spent two days adding more and more of them to our valgrind test suite, fixing bugs along the way.

I wanted to turn it on by default as part of make check, but since versions before 2.4 didn’t have decent threading support, some of our build slaves started locking up. So I guess I’ll need to make a separate target for the valgrind tests.

this guy is a visionary
he valgrinds his regression tests
– from make check –

I’m liking the use of subclassing in the 0.9 branch of GStreamer. I had added a num-buffers property to sinesrc to make it easier to test pipeline cleanup, just like fakesrc had. Except I noticed this week it was leaking a buffer somewhere. So instead of debugging the code, I moved the num-buffers property to basesrc (since all sources send buffers, so all of them can EOS after sending a number of buffers if wanted), and removed it from fakesrc and sinesrc. So, end result:

  • the leak in sinesrc is fixed
  • I removed two blocks of code and added one, so there’s less code now
  • I also get the num-buffers property on videotestsrc (and other sources) for free.
my view on the world, 50%
the horror, the hair, the alphabet

After fixing the more obvious leaks related to tagging, jamboree read my whole 120 GB of Oggs in one single go. Been playing ever since that, too. There’s a bug for mp3, I guess we need to look at that. But I’ve got enough music for now…

The next GStreamer is going to be excellent. It’s taking time, but the seeking is luverly, the threading seems to work out very well, and there’s some serious quality being spread out over it.

Time for some Quakage – later.

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.

picture