[X] UNICODE und mp3Sync


#1

Hallo Florian,

habe ein wenig mit den möglichen Spracheinstellungen für die Tags in der aktuellen Version 2.36 herumgespielt.
Bei der Codierung in Unicode (UTF-16) bei mp3-Dateien meine ich ein Problem festgestellt zu haben:

Ein mp3-Frameheader beginnt mit 2 Sync-Bytes:

    &hFF und (je nach version) &hEx oder &hFx

Aber auch der Unicode-Header besteht aus 2 Bytes in diesem Wertebereich:

     &hFF &hFE

Zur Vermeidung diese Konfliktes ist in den ID3-Richtlininien der Mechanismus der Synchronisation/Desynchronisation definiert, wonach alle Bytes

      &hFF

ausgetauscht werden gegen

     &hFF &h00

und die Bytefolge

     &hFF &h00

wird zu

     &hF00 &h00 &h00

Die Frage nun:

Bug, Feature oder einfach nur ein Missverständnis bei mir?

Grüsse aus Ratingen

Udo


#2

Unsynchronisation ist optional und die Verwendung wird auch nicht unbedingt empfohlen bzw. ist überflüssig:
http://www.id3.org/id3guide.htm#unsync
Zudem gibt es auch einige Programme, die dieses Feature nicht implementiert haben und dann am Tag-Lesen scheitern.


#3

Für ID3v2.3 verwende ich keine Unsynchronisation (aus Kompatibilitätsgründen mit anderen Programmen).

Für ID3v2.4 wird bei binären Frames Unsynchronisation verwendet.

Viele Grüße,
Florian


#4

Danke für die schnelle Antwort.
Wie wird den mit dem Problem der mp3header-Frame Erkennung umgegangen, da ja gerade mit Unicode-Codierung ein Byte-match besteht?


#5

Das ist hauptsächlich für Decoder interessant. Ich springe bei einem Match einfach noch zu der Stelle wo das nächste Frame beginnen müsste und behandle das erste Frame nur, wenn an dieser Stelle auch ein MPEG-Frame zu finden war.

Viele Grüße,
Florian