/// <summary> /// New PrivateFrame /// </summary> /// <param name="FrameID">FrameID</param> /// <param name="Flags">Frame Flags</param> /// <param name="Data">FileStream to read frame data from</param> /// <param name="Length">Maximum available length for this frame</param> public PrivateFrame(string FrameID, FrameFlags Flags, int Length, Stream FS) : base(FrameID, Flags, FS) { TStream = new BreadPlayer.Tags.TagStreamUWP(FS); _Owner = TStream.ReadText(Length, TextEncodings.Ascii, ref Length, true); _Data = TStream.ReadData(Length); // Read Data }
/// <summary> /// New DataWithSymbolFrame /// </summary> /// <param name="FrameID">FrameID</param> /// <param name="Flags">Frame Flags</param> /// <param name="Data">FileStream to read frame data from</param> /// <param name="Length">Maximum available length for this frame</param> public DataWithSymbolFrame(string FrameID, FrameFlags Flags, int Length, Stream FS) : base(FrameID, Flags, FS) { TStream = new BreadPlayer.Tags.TagStreamUWP(FS); _Owner = TStream.ReadText(Length, TextEncodings.Ascii, ref Length, true); _Symbol = TStream.ReadByte(FS); Length--; _Data = TStream.ReadData(Length); }
/// <summary> /// Create new AudioEncryptionFrame /// </summary> /// <param name="FrameID">4 Characters tag identifier</param> /// <param name="Flags">2 Bytes flags identifier</param> /// <param name="Data">Contain Data for this frame</param> /// <param name="Length">Maximum available length for this frame</param> public AudioEncryptionFrame(string FrameID, FrameFlags Flags, int Length, Stream FS) : base(FrameID, Flags, FS) { TStream = new BreadPlayer.Tags.TagStreamUWP(FS); _Owner = TStream.ReadText(Length, TextEncodings.Ascii, ref Length, true); _PreviewStart = Convert.ToInt32(TStream.ReadUInt(2)); _PreviewLength = Convert.ToInt32(TStream.ReadUInt(2)); Length -= 4; _Data = TStream.ReadData(Length); }
/// <summary> /// Create new GeneralFileFrame /// </summary> /// <param name="FrameID">4 Characters tag identifier</param> /// <param name="Flags">2 Bytes flags identifier</param> /// <param name="Data">Contain Data for this frame</param> /// <param name="Length">Maximum available length for this frame</param> public GeneralFileFrame(string FrameID, FrameFlags Flags, int Length, Stream FS) : base(FrameID, Flags, FS) { TStream = new BreadPlayer.Tags.TagStreamUWP(FS); _TextEncoding = (TextEncodings)TStream.ReadByte(FS); Length--; if (!IsValidEnumValue(_TextEncoding, ExceptionLevels.Error, FrameID)) { return; } _MIMEType = TStream.ReadText(Length, TextEncodings.Ascii, ref Length, true); _FileName = TStream.ReadText(Length, _TextEncoding, ref Length, true); _Description = TStream.ReadText(Length, _TextEncoding, ref Length, true); _Data = TStream.ReadData(Length); }
/// <summary> /// New BinaryFrame /// </summary> /// <param name="FrameID">FrameID</param> /// <param name="Flags">Frame Flag</param> /// <param name="Data">FileStream contain frame data</param> /// <param name="Length">Maximum available length for this frame</param> public BinaryFrame(string FrameID, FrameFlags Flags, int Length, Stream FS) : base(FrameID, Flags, FS) { TStream = new BreadPlayer.Tags.TagStreamUWP(FS); _Data = TStream.ReadData(Length); }