/// <summary> /// Parse the binary GEOB frame /// </summary> /// <param name="frame">binary frame</param> public override void Parse(byte[] frame) { int index = 0; _textEncoding = (TextCode)frame[index]; index++; _mime = TextBuilder.ReadASCII(frame, ref index); _fileName = TextBuilder.ReadText(frame, ref index, _textEncoding); _description = TextBuilder.ReadText(frame, ref index, _textEncoding); _objectData = new byte[frame.Length - index]; Memory.Copy(frame, index, _objectData, 0, frame.Length - index); }
/// <summary> /// Parse the binary frame /// </summary> /// <param name="frame">binary frame</param> public override void Parse(byte[] frame) { //TODO: Handle this invalid tag if (frame.Length < 1) { return; } int index = 0; _textEncoding = (TextCode)frame[index]; index++; _contents = TextBuilder.ReadText(frame, ref index, _textEncoding); _url = TextBuilder.ReadTextEnd(frame, index, _textEncoding); }
/// <summary> /// Parse binary data unsynchronised lyrics/comment frame. /// </summary> /// <param name="frame">binary frame data</param> public override void Parse(byte[] frame) { int index = 0; _textEncoding = (TextCode)frame[index]; index++; //TODO: Invalid tag, may be legacy. if (frame.Length - index < 3) { return; } _contents = TextBuilder.ReadText(frame, ref index, _textEncoding); _text = TextBuilder.ReadTextEnd(frame, index, _textEncoding); }
/// <summary> /// Parse binary data unsynchronised lyrics/comment frame. /// </summary> /// <param name="frame">binary frame data</param> public override void Parse(byte[] frame) { int index = 0; _textEncoding = (TextCode)frame[index]; index++; //TODO: Invalid tag, may be legacy. if (frame.Length - index < 3) { return; } _language = UTF8Encoding.UTF8.GetString(frame, index, 3); index += 3; // Three language bytes if (frame.Length - index < 1) { return; } _contents = TextBuilder.ReadText(frame, ref index, _textEncoding); _text = TextBuilder.ReadTextEnd(frame, index, _textEncoding); }