decode static method
Decodes the FrameHeader
Returns null if the FrameHeader could not be decoded
Implementation
static Id3v23FrameHeader? decode(
Id3v2Header id3v2Header,
List<int> bytes,
int startIndex,
) {
String identifierId = latin1.decode(bytes.sublist(startIndex, startIndex + 4));
FrameIdentifier? frameIdentifier = frameIdentifiers.firstWhereOrNull((element) => element.v23Name == identifierId);
if (frameIdentifier == null) {
return null;
}
var contentSize = _decodeFrameSize(bytes, startIndex + identifierFieldSize);
var flags = _loadFlags(bytes, startIndex + identifierFieldSize + sizeFieldSize, flagsFieldSize);
return Id3v23FrameHeader(frameIdentifier, contentSize, flags);
}