nicfit / eyeD3

eyeD3 is a Python module and command line program for processing ID3 tags. Information about mp3 files (i.e bit rate, sample frequency, play time, etc.) is also provided. The formats supported are ID3v1 (1.0/1.1) and ID3v2 (2.3/2.4).
http://eyed3.nicfit.net/
GNU General Public License v3.0
536 stars 58 forks source link

APIC encoding confuses Toyota head unit #491

Open jonhnet opened 3 years ago

jonhnet commented 3 years ago

Between version 0.8.9 and 0.8.10, something changed that caused images stored as album art to no longer be recognized by a Toyota head unit. (It didn't affect VLC.) This command works <= 0.8.9 and causes the issue >= 0.8.10:

eyeD3 --add-image source.jpg:ILLUSTRATION music-file.mp3

Looking at the log, this commit seemed most likely relevant: b573bb74ed94311083712ccc47450a1642a0e6c4 That commit suggests a change in behavior only when the 'description' field is omitted. So I tried adding a description (the :scene suffix):

eyeD3 --add-image source.jpg:ILLUSTRATION:scene music-file.mp3

...and it successfully works around the problem; the head unit is perfectly happy to display the embedded album art.

This workaround is good enough for me, but this subtle problem could drive others nuts. I don't understand enough about the underlying format to really diagnose the problem or suggest a code improvement. But I'd be happy to help; if nothing else, I can walk test files out to my car and check how they behave.

Thanks for eyeD3!

nicfit commented 3 years ago

Sounds like https://github.com/nicfit/eyeD3/issues/343