Released a 0.6 version of Transmageddon today. The user noticeable new feature is support for outputting Quicktime, MPEG4 and 3GPP files. Internally that was actually a big hurdle with some major code reorganisation and me learning about multiple new concepts on the way. A big thanks goes to Sjoerd Simons and Tim-Philipp Müller, because I don’t think I would have managed to sort out the state change stuff in the code without their help and input.
Would also like to thank David Love for sending in the first patch for Transmageddon. It switches the UI over from using radioboxes to drop down lists instead. This was also something quite a few people suggested to me both in person and in the comments to the previous blog. I haven’t merged the patch yet as I am still very uncertain about if I want to do this change. I like the visual feedback you get from seeing the radioboxes getting made sensitive/insensitive bases on container format and drop down lists simply do not give me or the user the same level of feedback. So I think I keep the current UI at least until I get moving on the output profiles.
One thing I realized after adding 3GPP as a container format is that we do not have a good AMR encoder and decoder in GStreamer. The reason for this is mostly that the people who most care about AMR are mobile phone people and even though a lot of them use GStreamer today, they got their own proprietary AMR plugins they use. So to alleviate this I added writing AMR encoder and decoder plugins to our suggested projects list for this years Google Summer of Code. One could probably take the code in Android for AMR and refactor it into a set of GStreamer plugins. Be aware though that Edward tells me that the current Android codec code is very ugly, so be prepared for some spring cleaning if you apply for Summer of Code to do this. This task would even have a bit of synergy effect with Edwards effort of porting GStreamer to Android.
One thing I should mention is that I have been spending a lot of time looking at the code of OggConvert when working on this version. It is really nice code and it does stuff correctly. So far it has always been to complex for me to understand when I look at it, but once I have managed to learn enough by trial and error to get my own code to work, I tend to notice that I am doing more or less the same as OggConvert :)