2019-01-13 19:15:33 +00:00
|
|
|
|
using System.IO;
|
2016-10-26 19:29:56 +00:00
|
|
|
|
|
|
|
|
|
namespace DvdLib.Ifo
|
|
|
|
|
{
|
|
|
|
|
public enum BlockMode
|
|
|
|
|
{
|
|
|
|
|
NotInBlock = 0,
|
|
|
|
|
FirstCell = 1,
|
|
|
|
|
InBlock = 2,
|
|
|
|
|
LastCell = 3,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum BlockType
|
|
|
|
|
{
|
|
|
|
|
Normal = 0,
|
|
|
|
|
Angle = 1,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum PlaybackMode
|
|
|
|
|
{
|
|
|
|
|
Normal = 0,
|
|
|
|
|
StillAfterEachVOBU = 1,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class CellPlaybackInfo
|
|
|
|
|
{
|
|
|
|
|
public readonly BlockMode Mode;
|
|
|
|
|
public readonly BlockType Type;
|
|
|
|
|
public readonly bool SeamlessPlay;
|
|
|
|
|
public readonly bool Interleaved;
|
|
|
|
|
public readonly bool STCDiscontinuity;
|
|
|
|
|
public readonly bool SeamlessAngle;
|
|
|
|
|
public readonly PlaybackMode PlaybackMode;
|
|
|
|
|
public readonly bool Restricted;
|
|
|
|
|
public readonly byte StillTime;
|
|
|
|
|
public readonly byte CommandNumber;
|
|
|
|
|
public readonly DvdTime PlaybackTime;
|
|
|
|
|
public readonly uint FirstSector;
|
|
|
|
|
public readonly uint FirstILVUEndSector;
|
|
|
|
|
public readonly uint LastVOBUStartSector;
|
|
|
|
|
public readonly uint LastSector;
|
|
|
|
|
|
|
|
|
|
internal CellPlaybackInfo(BinaryReader br)
|
|
|
|
|
{
|
|
|
|
|
br.BaseStream.Seek(0x4, SeekOrigin.Current);
|
|
|
|
|
PlaybackTime = new DvdTime(br.ReadBytes(4));
|
|
|
|
|
br.BaseStream.Seek(0x10, SeekOrigin.Current);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|