How to write PlayListID tag

Started by cherryblossom, November 09, 2022, 12:12:06 AM

Previous topic - Next topic

cherryblossom

I'm struggling to write the PlayListID tag for an m4a file. The docs state that the format is 'int32s[0.25]', but I don't know what the '0.25' means and how I'm meant to write the tag.

I added the tag with a value of 1504699857 using another app, and doing 'exiftool -playlistid file.m4a' on that file outputs
Play List ID                    : 0 0 0 0 89 175 229 209'

which appears to be 1504699857 as bytes in big-endian order.

I duplicated the original file, removed the playlist id using the other app, and attempted to add the tag back using ExifTool.

I first tried 'exiftool -playlistid=1504699857 file.m4a', but that resulted in
Warning: Value above int8u maximum for ItemList:PlayListID
Nothing to do.


Then I tried 'exiftool -playlistid='0 0 0 0 89 175 229 209' file.m4a', but that outputted
Warning: Not an integer for ItemList:PlayListID
Nothing to do.


I also tried 'exiftool -playlistid={0,0,0,0,89,175,229,209}' file.m4a', but that only resulted in the playlist id being 209.

Phil Harvey

Interesting.  I should fix this.  The 0.25 is an artifact of the way ExifTool is decoding as a bytes, but writing as 4-byte words (0.25 = 1/4).  I will change this to read int32s[2], but in fact it is stored as a 64-bit integer.  See this thread for more information.

And I will fix things so that you can write it in the same format it is extracted (8 byte values).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).