CellPlaybackInfo.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #pragma warning disable CS1591
  2. using System.IO;
  3. namespace DvdLib.Ifo
  4. {
  5. public enum BlockMode
  6. {
  7. NotInBlock = 0,
  8. FirstCell = 1,
  9. InBlock = 2,
  10. LastCell = 3,
  11. }
  12. public enum BlockType
  13. {
  14. Normal = 0,
  15. Angle = 1,
  16. }
  17. public enum PlaybackMode
  18. {
  19. Normal = 0,
  20. StillAfterEachVOBU = 1,
  21. }
  22. public class CellPlaybackInfo
  23. {
  24. public readonly BlockMode Mode;
  25. public readonly BlockType Type;
  26. public readonly bool SeamlessPlay;
  27. public readonly bool Interleaved;
  28. public readonly bool STCDiscontinuity;
  29. public readonly bool SeamlessAngle;
  30. public readonly PlaybackMode PlaybackMode;
  31. public readonly bool Restricted;
  32. public readonly byte StillTime;
  33. public readonly byte CommandNumber;
  34. public readonly DvdTime PlaybackTime;
  35. public readonly uint FirstSector;
  36. public readonly uint FirstILVUEndSector;
  37. public readonly uint LastVOBUStartSector;
  38. public readonly uint LastSector;
  39. internal CellPlaybackInfo(BinaryReader br)
  40. {
  41. br.BaseStream.Seek(0x4, SeekOrigin.Current);
  42. PlaybackTime = new DvdTime(br.ReadBytes(4));
  43. br.BaseStream.Seek(0x10, SeekOrigin.Current);
  44. }
  45. }
  46. }