Fehler beim löschen von ID3v2-Tags


#1

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?!


#2

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

Kein Bug.

~ Florian


#3

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:


#4

Sorry, ist nicht geplant.

~ Florian


#5

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:).


#6

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

~ Florian


#7

Wirklich bis zur Sync oder != 0?

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


#8

Nein, hast Recht: nur bis != 0

~ Florian


#9

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


#10

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


#11

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

~ Florian


#12

Laut id3.org darf nur 00 benutzt werden.