2
0

CellPlaybackInfo.cs 1.4 KB

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