In a different direction, I have started testing the tags that emms-info-native produces against what I already have in my cache (which was made by emms-info-taglib, I think). Three things spring out immediately:
1. emms-info-taglib trims trailing white space in strings but emms-info-native does not.
2. emms-info-native puts dates in the year or original-year field while emms-info-taglib puts them in the date or orginaldate field. By date, I mean strings like "2003-11" which contain a month or day separated by hyphens. There are various places in the emms codebase which treat these fields differently (mainly to extract a year "2003" from a date "2003-10"). I suspect that emms-info-native is doing the right thing here (the file is tagged with id3v2.4) but it does have implications for the rest of the codebase.
3. emms-info-native--decode-info-fields is now returning nil for the 75 files for which it raised "id3v2 tag or frame size 3832965 is invalid" errors last week.
For definiteness, this is emms-info-native from the info-native branch at commit 0fe6100
---Fran