MP3 Decoder/Player

Today, I’m starting to look at the MP3 specification in order to write an unmanaged C++ library which will hopefully be able to read, decode, and play all MP3 files. This code will be integrated with my Alarm clock software eventually, but for now I just want to get it working. This will be my major project for the next few months which means that after the planned Alarm updates, I will not be touching it for a little while.

A few things I need to consider:

  • Different versions of the MP3 standard.
  • DIfferent versions of the ID3 tagging standard. (1.0, 1.1, 2.0, 2.2, 2.3, 2.4, etc)
  • MP3’s encoded with WinAMP fail to pass the standard. iTunes might as well.
  • Speed. I cant have a slow decoder. I need to use native code and use the most efficient data structures available.
  • Do I want to make this open source?

I might try to find another open-source decoder and build off of it, but I’m not sure yet.