Understanding ID3 MCDI frame size


I'm a little bit how Mp3Tag handle MCDI frame and specifically around such frame size.

I'm expecting such frame to be organized as follows:

  • MCDI (4 bytes)
  • xx xx xx xx (4 bytes for size)
  • xx xx (2 bytes for flags)
  • size bytes for MCDI content
  • Next frame starting here.

For a reason I don't understand Mp3Tag considers size + 1 bytes of content.

Can someone explain where this is coming from ?


Here is the definition by the id3 org.
Here you find the list of fields in MP3tag:

Where is MCDI?

As you can see in the spec you pointed, MCDI is a valid frame.
"4.5 MCDI [#sec4.5 Music CD identifier]"

But I don't understand how Mp3Tag consider this and basically tell if tag is bad or not.

I've found some MP3 with bad MCDI frame size but Mp3tag says it is a valid tag while if I fix this size, it becomes "bad id3".

Any ideas ?

Perhaps the testing equipment is not right?
Perhaps the method to "correct" an alleged fault is not correct?

Mp3tag is the name of the program for tagging. It does not explain mp3 tags in general.

The point is that Mp3Tag does not say TAG is bad when it should.
Who can answer this if I give you a MP3 file with tag corrupted (MCDI wrong size) ?