Now, to fully emulate mpg123, I need to have support for id3 tags, which I note (sadly) isn't available in libmad. Is this out of the scope of the project, or difficult to implement? I'm not clear on just how id3 tags are encoded within an mp3 stream, but is it a possibility for the id3 tag support present in madplay to be moved to be more generally useful in the library?
(I mean, it's not a *requirement*, as in the end I'll be using mad's implementation of it either way, but it'd probably be good for users of libmad to have id3 tag support within the library itself.)
I haven't looked closely at libmad yet so I don't know how useful the id3 support is but I assume it is as you say and I definitely agree. We intend to use id3 tags in Apollo [1]. Currently, Apollo is just a front-end to mpg123, but I'm looking forward to base Apollo primarily on libmad.
id3 tag support will be important for us (the Apollo developers) in the future, and we've discussed using id3lib [2], but I'd rather not depend on yet another library.
[1] http://www.apolloplayer.org/ [2] http://id3lib.sourceforge.net/
- Marius