Fehler beim löschen von ID3v2-Tags

Hi,

zur Zeit schreibe ich ein MP3-Checker wodurch ich auch einige Dateien modifiziert habe. Mir war aufgefallen das MP3Tag beim löschen eines ID3v2-Tags (mit Padding, ohne habe ich nicht getestet) mehr Bytes entfernt als im Header angegeben ist!

Rekonstruktion:

    1. Byte des Frameheaders auf 00 setzen
  1. MP3Tag ID3v2 schreiben lassen (mit Padding)
  2. MP3Tag das ID3v2-Tag wieder löschen lassen

Ergebnis:

Das Byte was zuvor auf 00 gesetzt wurde wird mit gelöscht :flushed:

Ich kann mir vorstellen das dies ein Feature von MP3Tag sein soll um fehlerhafte ID3v2 Syncsafe Längen zu eleminieren?!

Viele Dateien weisen fehlerhaftes Padding außerhalb des ID3v2-Tags auf - dies entfernt Mp3tag beim Entfernen des Tags auch.

Kein Bug.

~ Florian

Könntest Du dies in eine Option umwandeln die definiert wie fehlerhafte Tags gehandhabt werden, da ja auch korrekte Tags davon betroffen sind?

Zugegeben wäre es nur "Nice-To-Have" :slight_smile:

Sorry, ist nicht geplant.

~ Florian

btw, wieviel Bytes werden da eigentlich abgesucht?

Denn mir ist schon einmal aufgefallen, dass teilweise ziemlich große Null-Blöcke vor einem MP3 hängen dessen ID3v2 ich mit MP3Tag gelöscht hatte. Vorzugsweise sind es welche die aus Kazaa stammten (ja Verklagt mich :smiley:).

Eigentlich wird immer bis zum Sync gesucht und alles davor gelöscht.

~ Florian

Wirklich bis zur Sync oder != 0?

Denn in meiner Test-Datei wurde nur 00 beschnitten. Die erste kommt erst bei 155 bzw. 156.

Nein, hast Recht: nur bis != 0

~ Florian

Ok, hatte schon Angst das MP3Tag meine mühevollen defekt Sammlungen "repariert" hat :slight_smile:

Kleine Frage für zwischendurch... Werden ID3v2 Tags immer mit 00 "gepaddet", oder kann es auch 0x20 oder 0xFF sein?

Soweit ich weiß, macht z.B. MP3Ext ganz komisches Padding und schreibt den Programmnamen und die Versionsnummer.

~ Florian

Laut id3.org darf nur 00 benutzt werden.