You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.4 KiB
55 lines
1.4 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.IO;
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|