AMR support in GStreamer

Some time ago I put out a request for someone to pull the AMR code in Android out and turn it into GStreamer plugins. Well Iago Toral Quiroga did exactly that and thus we now got support for encoding and decoding AMR-NB in GStreamer, combined with support for decoding AMR-WB. This turned out to be an indirect team effort as the current code is a combination of the original Android code, combined with some API glue code developed by Andres Mejia and Martin Storsjö, combined with the old AMR plugins in GStreamer which was meant to be used with some non-distributable reference code. These 3 code bases Iago massaged together into something pliable. The current plan is to merge the patch once bad and ugly unfreeze and we finally got some decent AMR plugins for GStreamer. A big thanks to Iago and everyone else involved.

This effort also fit in well with a bug hunt I have been on for a while to figure out why Transmageddon was not able to create files my phone could play back. After having spent a lot of time expanding on the transcoding engine in transmageddon and testing every possible variation I could come up with, it was finally Mark Nauwelaerts here at Collabora Multimedia who came to my rescue with this patch. Also that getting merged after the freeze.

Also been testing the ASF muxer that Thiago Sousa Santos is working on as part of this years Summer of Code. It is coming along very nicely, with WMA2 and WMV2 muxing working. Hopefully when I do my new Transmageddon release before heading down to Gran Canaria I can include ASF support too. Already got a nice batch of features in git master with multipass encoding, a lot of bugfixing to the profile support, h263 and video flipping. So with the efforts mentioned above I should also be able to add AMR-NB and ASF/Windows Media support to the mix too. I also hope it is a long time until the next time I need to think about stuff like pixel aspect ratio versus display aspect ratio :)

I still need an icon for Transmageddon if someone is up for the task.


#1 Bastien on 06.12.09 at 17:37

Awesome! Finally have AMR plugins!

#2 Andrew Clunis on 06.13.09 at 05:29


As you can imagine, I was quite bummed to discover that no free software could play the AMR audio in videos recorded on Android. I assume these new gst plugins use an entirely free software implementation of AMR (ie., don’t depend on that crappy proprietary library that is floating around out there)?


#3 Pareja on 06.30.09 at 19:40

Your post AMR support in GStreamer « Christian Schaller was very interesting when I found it over google on Tuesday by my search for asf. I have your blog now in my bookmarks and I visit your blog again, soon. Take care.