dhowden / tag

ID3, MP4 and OGG/FLAC metadata parsing in Go
BSD 2-Clause "Simplified" License
558 stars 73 forks source link

error: expected to split UFID data into 2 pieces #46

Open HerrmannHinz opened 5 years ago

HerrmannHinz commented 5 years ago

im getting this error on some files, on others i don't.

any idea what am i looking at?

dhowden commented 5 years ago

A quick scan of the code would suggest you're hitting this error: https://github.com/dhowden/tag/blob/e80a3fa76a9645b4a90127deab5b271d8c5bcf85/id3v2frames.go#L505

Can you post the first few hundred bytes of one of the files that is failing? (maybe share publically using Dropbox or similar).

Omustardo commented 3 years ago

I ran into the same issue with a few songs. Here's the first 200 bytes from one. Let me know if more would be helpful.

$ cat print_bytes.py
file = open("01 These Days.mp3", "rb")
bytes = file.read(200)
file.close()

hexchars = []
for b in bytes:
  hexchars.append(b.encode("hex"))
print " ".join(hexchars)
$ python print_bytes.py
49 44 33 03 00 00 00 03 0d 4e 41 50 49 43 00 00 8f 9d 00 00 01 69 6d 61 67 65 2f 6a 70 67 00 03 ff fe 52 00 6f 00 62 00 69 00 6e 00 20 00 47 00 72 00 65 00 79 00 20 00 3a 00 20 00 4f 00 6e 00 6c 00 79 00 20 00 54 00 68 00 65 00 20 00 4d 00 69 00 73 00 73 00 69 00 6c 00 65 00 00 00 ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 01 2c 01 2c 00 00 ff db 00 43 00 08 06 06 07 06 05 08 07 07 07 09 09 08 0a 0c 14 0d 0c 0b 0b 0c 19 12 13 0f 14 1d 1a 1f 1e 1d 1a 1c 1c 20 24 2e 27 20 22 2c 23 1c 1c 28 37 29 2c 30 31 34 34 34 1f 27 39 3d 38 32 3c 2e 33 34 32 ff db 00 43 01 09 09 09 0c 0b 0c 18 0d 0d 18 32 21

fwiw this is an old song that I appear to have downloaded from https://www.jamendo.com/album/30315/only-the-missile in ~2013. I just downloaded it from there again and here are the new leading 200 bytes. This one's tags don't have issues.

49 44 33 04 00 00 00 02 2c 7e 54 49 54 32 00 00 00 0c 00 00 00 54 68 65 73 65 20 44 61 79 73 00 54 50 45 31 00 00 00 0c 00 00 00 52 6f 62 69 6e 20 47 72 65 79 00 54 52 43 4b 00 00 00 03 00 00 00 31 00 54 41 4c 42 00 00 00 12 00 00 00 4f 6e 6c 79 20 54 68 65 20 4d 69 73 73 69 6c 65 00 54 44 52 43 00 00 00 06 00 00 00 32 30 30 38 00 54 43 4f 4e 00 00 00 09 00 00 00 43 6f 75 6e 74 72 79 00 54 42 50 4d 00 00 00 05 00 00 00 31 30 34 00 54 43 4f 4d 00 00 00 0c 00 00 00 52 6f 62 69 6e 20 47 72 65 79 00 57 50 55 42 00 00 00 17 00 00 68 74 74 70 3a 2f 2f 77 77 77 2e 6a 61 6d 65 6e 64 6f 2e 63 6f 6d 00