I am currently thinking about adding mp3 support to
irrKlang, the free sound library I wrote. After all, it is the most frequently user requested feature and of course it would be very useful - OGG which is already supported by irrKlang isn't that popular yet. I'm not only thinking about if I am adding mp3 support, but also how. The if-problem is that since mp3 is now quite popular, Thomson is demanding royality payments if you create software or hardware working with this compression format, they've patented it. I've heard they usually don't ask people providing free software to pay, but nobody would be able to stop them once they start doing it.
The how-problem also has something to do with the patent and license fees and looks like this:
- First option: I could write my own mp3 decoder. This one has the most disadvantages: Takes the most time and has the highest risk of getting a Thomson cash target. So I won't do this.
- Second: Use the operating system built-in decoder. Since modern operation systems like WinXP provide APIs to decode mp3s I could use this. Advantages: Quickly implemented, low risk of license payment requests because there is actually no code in my software dealing with mp3 decoding. Disadvantage: Probably not that high performance, risk of not working on crippled PCs.
- Third and last option: Write an irrKlang plugin using one of the many open source decoders, and probably also release its code as example. Would work with GPL and LGPL open source decoders, could be removed from the lib by simply deleting the plugin .dll and has the same risk of being cash milked as all the other open source libs.
So I'm not sure if I should choose option two or three. Any ideas or suggestions?