Bei der Verwendung von MP3 Diags stellte ich fest, dass etliche gerade in Bearbeitung befindlicher Dateien durch MP3 Diags beanstandet werden. Es handelte sich um MP3s mit ID3v2.3 UTF-16 und ID3V.1-Tags, also ganz normale Mp3s.
Es wurde u.a. ein fehlender ID3v2.3 Tag als auch fehlerhafte Streams beanstandet.
Nach einigem Herumprobieren konnte ich die Ursache feststellen:
Ab einer Dateigröße des eingebetteten Covers oberhalb von ca. 5 MB liefert MP3 Diags diese Fehlermeldungen.
Ich vermute mal, dass das ein Bug von MP3 Diags ist. Andernfalls hätte MP3Tag ein Problem größere Dateien ab 5 MB korrekt einzubetten, was ich mir nicht vorstellen kann.
Die Codezeile wurde von mir bewusst umgebrochen, um darzustellen, dass im Fehlerfall ein "Broken ID3v2.3.0 tag." resultiert.
Zusatz:
In der Datei Id3V240Stream.cpp
ist explizit erwähnt, dass es "probably" (also "wahrscheinlich" / "vermutlich") keine Frames grösser als 5MB geben soll...
Das Limit das durch die Datenstrukturen des ID3v2 Formats vorgegeben sind ist 16MB pro Frame.
Es handelt sich also um eine künstliche Einschränkung von MP3 Diags, die wohl eher dem Umstand geschuldet ist, dass Album-Cover > 5MB zu damaligen Zeiten eher ungewöhnlich waren.