Hi,
I've been trying to get xmms-mad to stop crashing on various sometimes odd audio streams. Recently I was trying to get it to read a group of MP3 files I picked up somewhere some time ago and traced the cause of their crash to the fact that if a stream doesn't have ID3 tags, bad things happen. But libid3file was refusing to load tags for streams that I knew had them. Turns out that my files have nice, valid ID3v1 info at the beginning of the stream and something that libid3file rejects at the end. (I don't know why yet.) In this case, libid3file refuses to return *any* ID3 info, even the valid stuff that it loaded from the beginning. Why is this being done?
I got it to return tag info with the following. This is in search_tags:
--- mad-0.14.2b/libid3tag/file.c 2001-11-01 14:27:38.000000000 -0600 +++ mad-devel/libid3tag/file.c 2002-10-20 09:08:12.000000000 -0500 @@ -256,7 +256,8 @@
if (0) { fail: - result = -1; + if (file->ntags < 1) + result = -1; }
clearerr(file->iofile);
Matt