[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Filed under: General — Thomas @ 12:32

2003-12-31
12:32

GStreamer dependencies

I'm on a packaging roll - dependencies for GStreamer are being repackaged one by one at this point. Bitches(1) is a great tool to be able to do this, I'm glad I took the time to work on it before trying to do this, because it allows me to do the right thing from a packaging point of view.

I started working on LADSPA packages. There are a few for Mandrake out there - they always seem to be very up-to-date, which is good for them. Now, ladspa_sdk and cmt_src are two very misbehaving packages from a packaging point of view. The tarballs don't have versions ! It took me some digging through the documentation to find the version. I think that's a bad way of packaging stuff. Now, people on the LAD mailing list tell me that "it's just the ladspa.h header, you don't need anything more". Hm, I think that's poor packaging strategy - ladspa_sdk also includes a few simple apps and some sample plug-ins, and I packaged these too. Also, our code in GStreamer uses some copied source from those examples to load plug-ins and stuff that should've gone into a lib.

So, if you're writing software, make a tarball that unpacks in a dir with the same base name, and make it so the base name contains the version number. While you're at it, it would also be nice if you use a dash to separate between name and version, and maybe even consider not using letters in the version (I've seen anything from a, b, rc, pre, rel, ...). It's totally unnecessary. It looks even worse if you release 4 release candidates with rc in the name, then not make a release for a whole year to follow up on that release candidate.

It doesn't hurt to take some time to learn about autotools. Lots of people think they are evil, but I tend to disagree. It's a matter of learning how to use the tools. It'll save you a lot of headache later on.

GStreamer plug-ins

I wanted to experience first-hand how easy or hard it is to write a GStreamer plug-in for video, even though I have almost no video experience at all. I chose the FAME MPEG 1/4 encoder. I spent about two hours working out the API, copying plug-in code, and adding a few basic arguments, and I managed to encode video. At first it was a bit too greenish (which funnily enough I didn't notice at first since the Matrix trailer I used actually starts with the movie company's logo being green), but a few miscast pointers where the cause of that.

Wim cleaned it up some more and added more stuff, but I seemed to have done a pretty good job of the basics. So, yes, it is easy to wrap a library into a GStreamer plug-in.

GStreamer packages

Still waiting for an answer from the Ximian guys. Meanwhile, I'm setting up apt repositories for Red Hat 7.2 and 7.3 for the GStreamer dependencies. I hope I can get stuff into Red-Carpet before these apt repositories are done, otherwise it would be ironic.

Advogato

This site is quickly replacing my daily SlashDot fix. What I think is wonderful is that people sometimes take the time to answer questions or solve problems you haphazardly ask. I forget who it was who tipped me off to the Toshiba problem I had, but it's good to know, so whoever you were, thanks ! Too bad I can't read more through all the entries to see who it was. Imagine I went on holiday for a week ! How many entries would I miss ???

(1): Still haven't decided whether I should change the name.

2 Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.

picture