CellPlaybackInfo.cs 1.3 KB

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