Open jwakely opened 3 years ago
I also have a similar MP3 with a similar issue, but in this case it bails on "Frame ID: b'TT2\x00'" (eyeD3 0.9.6 on Fedora 34). The MP3 looks like it may originate from iTunes. All of the following can successfully read the tags in the file on Fedora 34: mid3v2 1.3 w/ Mutagen 1.45.1, id3info 3.8.3, ffprobe 4.4.1, Totem 3.38. Easytag 2.4.3, however, also fails to read it.
Extract from "eyeD3 -l debug":
eyed3.core:DEBUG: File mime-type: audio/mpeg eyed3.id3.headers:DEBUG: Located ID3 v2 tag eyed3.id3.headers:DEBUG: TagHeader [major]: 2 eyed3.id3.headers:DEBUG: TagHeader [minor]: 3 eyed3.id3.headers:DEBUG: TagHeader [rev]: 0 eyed3.id3.headers:DEBUG: TagHeader [flags]: unsync(0) extended(0) experimental(0) footer(0) eyed3.id3.headers:DEBUG: TagHeader [size string]: 0x00090303 eyed3.id3.headers:DEBUG: TagHeader [size]: 147843 (0x24183) eyed3.id3.frames:DEBUG: size_left: 147843 eyed3.id3.frames:DEBUG: +++++++++++++++++++++++++++++++++++++++++++++++++ eyed3.id3.frames:DEBUG: FrameSet: Reading Frame #1 eyed3.id3.headers:DEBUG: FrameHeader [start byte]: 10 (0xA) eyed3.core:WARNING: FrameHeader: Illegal Frame ID: b'TT2\x00' eyed3.id3.frames:DEBUG: No frame found, implied padding of 147843 bytes eyed3.id3.tag:DEBUG: Tag contains 147843 bytes of padding.
I have some MP3 files (copyrighted, so I can't provide them) for which eyeD3 doesn't print any info. Other utilities (e.g.
kid3
andffprobe
and KDE's Dolphin file browser) are able to show the metadata. If I use-l verbose
then I see an error about an illegal frame ID:The version is 0.9.6 as packaged for Fedora Linux 33:
If I edit the tags with
kid3
and save the file, theneyeD3
no longer shows the error, and can read the tags without problems:(
kid3
shows that this file actually has several duplicate tags, forAlbum
,Artist
etc but that doesn't seem to bothereyeD3
, only the illegal frame ID seems to cause problems).With
-l debug
on the original file it shows:A hex dump shows that the file contains both v2.2 tags like TP1, TP2, TRK, and v2.3 tags like TPE1, TPE2 and TRCK:
Could eyeD3 be made more robust, so it doesn't fail to read anything from badly-tagged files like this?