namespace MPF.Core.Data { /// /// public class PICDiscInformationUnit { #region Fields #region Header /// /// Disc Information Identifier "DI" /// Emergency Brake Identifier "EB" /// public string DiscInformationIdentifier { get; set; } /// /// Disc Information Format /// public byte DiscInformationFormat { get; set; } /// /// Number of DI units in each DI block /// public byte NumberOfUnitsInBlock { get; set; } /// /// Should be 0x00 /// public byte Reserved0 { get; set; } /// /// DI unit Sequence Number /// public byte SequenceNumber { get; set; } /// /// Number of bytes in use in this DI unit /// public byte BytesInUse { get; set; } /// /// Should be 0x00 /// public byte Reserved1 { get; set; } #endregion // TODO: Write models for the dependent contents, if possible #region Body /// /// Disc Type Identifier /// = "BDO" for BD-ROM /// = "BDU" for BD-ROM Ultra /// = "BDW" for BD-RE /// = "BDR" for BD-R /// public string DiscTypeIdentifier { get; set; } /// /// Disc Size/Class/Version /// public byte DiscSizeClassVersion { get; set; } /// /// DI Unit Format dependent contents /// /// 52 bytes for BD-ROM, 100 bytes for BD-R/RE public byte[] FormatDependentContents { get; set; } #endregion #region Trailer (BD-R/RE only) /// /// Disc Manufacturer ID /// /// 6 bytes public byte[] DiscManufacturerID { get; set; } /// /// Media Type ID /// /// 3 bytes public byte[] MediaTypeID { get; set; } /// /// Time Stamp /// public ushort TimeStamp { get; set; } /// /// Product Revision Number /// public byte ProductRevisionNumber { get; set; } #endregion #endregion #region Constants public const string DiscTypeIdentifierROM = "BDO"; public const string DiscTypeIdentifierROMUltra = "BDU"; public const string DiscTypeIdentifierReWritable = "BDW"; public const string DiscTypeIdentifierRecordable = "BDR"; #endregion } }