Older blog entries for company (starting at number 6)

Seems like everybody is talking about metadata lately and I should be somewhere in there, too, since I'm the one who wrote the tagging backend for the upcoming GStreamer release. I wonder how hard it would be to make Medusa use those tags. It should be easy just from looking at it.

Now the next step would be to get Colin, his metadata storage in Rhythmbox, Thomas and his media-info and nautilus-media hacking and Medusa into the same boat, so there's not too much duplication going on. The only thing I know is that I won't lead the efforts, there's too many people insisting on their opinions already.

Oh, and the other thing I know is that tag extraction is working perfectly nice in GStreamer. The hard parts are automated tag writing and detecting if a given data stream contains audio and/or video (which is metadata in itself) and if GStreamer can play that file back. But that's an entirely different issue...

I've watched this movie around 50 times now and it's starting to get boring to see if when the snowman punches the glass my soundcard actually does this *dong* sound. Now it does. I don't want to debug realtime stuff again. Especially not A/V sync. It works well, even though technically it's still flakey, we'll need to figure out how to do sync correctly some day. It's a hard problem especially because synchronized elements do not know a thing about each other in GStreamer - yet.

I accidently deleted my Rhythmbox library. Now I'm too proud to use anything else but GStreamer to reimport it. Quite some work to do the next days - and without Rb...

On the musical front I'm totally sold to bad 80s pop at the moment. And there's very good 80s music imitations for free on the web. And then there's still the Dirty Dancing soundtrack...

Man, I'm sitting in front of vim, staring at a source file, knowing exactly what I want to do, but I can't concentrate. Someone fix that bug in my head, please.

Had a great Sylvester evening listening to Beethoven's 9th Symphony. Spent most of the boring part - the 3rd movement - thinking about GVADEC and if prople would be interested in getting a talk by me about GStreamer internals. I still don't like giving talks when they are scheduled.

Spent another part of my thinking about Ronald's "Do we want a perfect core or do we want applications?" It's bad to just change the internals of a big library too much to make them perfect but it's also bad to only make them do one thing and break for every other thing. I guess people that develop libraries are more of the "make it perfect" kind while application developers tend to "make it work". I'm definitely more a library developer than anything else.

On the coding front I started to play with my Christmas gift. And since I'm the library guy, I ended up inventing libgstui instead of just porting TVtime to GStreamer. Let's see how my "GNOME needs a TV application" quest ends...

You know what is cool? When other people tell you they like what you do and you don't expect it. I've had that twice the last days.

First it was Joshua Pritikin basically telling us GStreamer guys that we rule. That was the first happy bump in my stomach. Especially because he's a long time GStreamer user. And today a mperson at my job went into retirement. And she gave me a letter. That already confused me. It was a thank you for the great job I did with our software and with helping her. Included two tickets to the Sylvester concert of Beethovens 9th symphony. I haven't been happier for quite some time.

I should tell people more often when I think they rule...

Just posted that in IRC, thought it's worth putting here. My personal idea of the goals for GStreamer are these:

0.8 is about reading and playing every media file on earth without crashing. 0.8 is about reusing pipelines, too.

0.10 is about defining what you may and may not do, making calls signal errors if you do wrong stuff and make everything else not crash. 0.10 is about writing testcases that try all that, too.

1.0 is then about figuring out if everything works like it should and change where it's not

1.2 is about fixing bugs for the GStreamer renderman replacement, the new kernel module doing the netcode with gst and those Cubase replacements based on gst.

Ok, I've got a blog now. And because I'm really a lazy guy I'm using gnome-blog. But that beast uses Python. And neither me nor my LFS machine have had much contact with Python. And not with installing packages in different prefixes (like for example Python modules). Seems to work now though. I'm using gnome-blog. :)

Found out that the Gnome Python stuff has the same issues as GStreamer wrt config management btw. It might install a lot of plugins/modules without a nice way of telling apps using those if it installed them. You just get one .pc file even if something wasn't installed. I forgot pyorbit and hadn't the gnome.ui module. gnome-blog install didn't figure it out. And bonobo just told me that the applet crashed.

The same is true for GStreamer in some places. There are places where you want to know what plugins are installed. An example is a media player that needs to tell Nautilus/gnome-vfs out what files it can open. And then you ought to update those when new plugins get installed...

I believe Gnome (or Linux in general) will run into some sort of plugin trap sooner or later where their system is not dynamic enough to update everything that gets affected by additions of plugins.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!