aadsm / jsmediatags

Media Tags Reader (ID3, MP4, FLAC)
Other
748 stars 128 forks source link

Support the atID, cnID, plID, geID, xid, and flvr iTunes/Quicktime tags #47

Closed mrj closed 7 years ago

mrj commented 7 years ago
  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.

  2. 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.

  3. 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.

aadsm commented 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?

mrj commented 7 years ago

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.