[F] ID3v2.4 multi-values not always fully read when character size is 16

While testing TagLib, I produced another file which isn't fully compatible with Mp3tag. (I made sure this one is reproduceable.)

I tried to save 3 values into Artist (TPE1) and Artist Sort (TSOP).

The results are strange:

  • Mp3tag only reads 2/3 of TPE1 (Artist)
  • Mp3tag reads all 3/3 of TSOP (Artist Sort)
  • in comparison, foobar2000 reads all 3/3 of both TPE1 and TSOP

TagLib writes the characters to both tag frames with a size of 16 bits. When trying the same thing with Mp3tag on the original file, I noticed Mp3tag writes the characters with a size of 8 bits.

I suppose the character encoding is the cause of the incompatibility?

I have just sent a link to the file to the support email.

Thanks for the example file.

It seems that the last string in the TPE1 frame is not terminated by a null character.

Can you verify?

That is probably an intentional decision by the devs then.
https://bugs.kde.org/show_bug.cgi?id=149468

I can't verify what the spec is supposed to be.

I had a further look at the file and there was indeed a bug in Mp3tag which is now fixed with Mp3tag v2.58.

Thanks for reporting!

Kind regards
Florian

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.