Friday, July 30, 2010

Reverse-engineering the XMF Audio Format

Some time ago I was investigating a bug in a mobile media player, that crashed when it attempted to play certain (not all) XMF audio files. In order to determine why some files crashed the player while others didn't, I decided to inspect their contents – only to discover no matter how hard I tried, I couldn't find any information about the XMF format on the web.

Eventually I was able to wrangle enough information from the player's source code to build a simple XMF inspector, which allowed me to quickly determine the differences between playable and crash-inducing files. After that, I thought that, while XMF is a pretty obscure format these days, that information might be useful for others – it would certainly have made things easier for me, had it been readily available back then. So I wrote an article containing the results of my research, and published it to the MultimediaWiki.

You can read the article here. As I said, I don't expect it to be a hit, but I hope others will find it useful at some point.