Closed mrj closed 7 years ago
Thanks for submitting this!
Is 3) the reason for (dataLength == 8 ? 4 : 0)
then? Can you add a comment in the code explaining the reasoning?
I've updated the pull request with the requested comment.
Also changed the code to always parse the low-word of 64-bit values as unsigned, in case it's a signed 64-bit value over 2^31-1.
Adds descriptions for the previously-unknown atoms in an iTunes m4a file — except for cmID, because I'm not sure how the Quicktime "Camera ID" description applies to audio files.
I described "xid" as "Vendor Information". From the looks of it, a more precise description may be "Vendor Catalog ID", but I'm not sure this is universally true, so my description is more vague.
Allows the integer atID, cnID, plID, and geID fields to be correctly parsed. The PlaylistID, plID, is actually a 64-bit value, but to save a lot of 64-bit effort for possibly nothing because the high-long seems to be always zero, all 64-bit values are parsed from their low 32 bits.