zarf wrote:
The IFF spec (and therefore the Blorb spec) has the requirement that all chunks be padded to even length. This AIFF file has an odd length. So the 0 byte on the end of that chunk is mandatory. (The padding is not included in the length field.)
You'd have to post the blorbs for me to verify this, but it sounds like rezrov is failing to account for the padding byte, and therefore reading the file wrong.
I don't know why I didn't fully appreciate this problem at first. It seems that rezrov.c has a bug in it that causes it to create invalid AIFF files when extracting from a Blorb file. Those files I extracted from spy1.blb I then tried to reencapsulate into another Blorb. That's where my problem started. But still, there's code in perlBlorb and cBlorb that is supposed to pad chunks if they're not even, but the code doesn't seem to work.