Source code of Windows XP (NT5)
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.

116 lines
2.8 KiB

  1. /*
  2. NXCũC^tF[X
  3. iNP2)@Sachiko Yasukawa
  4. */
  5. // Date | Author | Description
  6. // -----------+--------------+--------------------------------------------
  7. // 1998.03.27 | Hideki Yagi | Change the specification about
  8. // | | Get***Property().
  9. //
  10. typedef enum {
  11. PowerOff,
  12. Stop,
  13. Pause,
  14. Play,
  15. Slow,
  16. Scan
  17. } LIBSTATE;
  18. class IMPEGBuffer : public IMBoardListItem
  19. {
  20. public:
  21. virtual DWORD GetPageNum()=0;
  22. virtual DWORD GetPageSize(DWORD PageNum)=0;
  23. virtual BOOL GetPagePointer(DWORD PageNum, DWORD *LinearAdd, DWORD *PhyAdd)=0;
  24. virtual DWORD GetBufferFlag()=0;
  25. };
  26. class IMPEGBoardState
  27. {
  28. public:
  29. virtual BOOL Init()=0;
  30. };
  31. //class IMPEGBoardLibEvent
  32. //{
  33. //public:
  34. // virtual void Advice(PVOID)=0;
  35. // virtual HALEVENTTYPE GetEventType()=0;
  36. //};
  37. class ITransfer
  38. {
  39. public:
  40. virtual BOOL Init()=0;
  41. virtual BOOL SetSink(IMPEGBoardEvent *pEvent)=0;
  42. virtual BOOL UnSetSink(IMPEGBoardEvent *pEvent)=0;
  43. virtual BOOL SetDMABuffer(DWORD size, BYTE* LinerAdd, BYTE *PhysAdd)=0;
  44. };
  45. class IStateObject;
  46. class IBaseStream
  47. {
  48. public:
  49. virtual BOOL Init()=0;
  50. virtual BOOL Play()=0;
  51. virtual BOOL Stop()=0;
  52. virtual BOOL Pause()=0;
  53. virtual BOOL Slow(DWORD)=0;
  54. virtual BOOL Scan(DWORD)=0;
  55. virtual BOOL SingleStep()=0;
  56. virtual LIBSTATE GetState()=0;
  57. virtual BOOL SendData(IMPEGBuffer *)=0;
  58. virtual BOOL SetStateObject(IMPEGBoardState *pState)=0;
  59. virtual BOOL SetTransferObject(ITransfer *pTransfer)=0;
  60. virtual BOOL SetTransferMode(HALSTREAMMODE)=0;
  61. virtual BOOL SetDataDirection( DirectionType type ) = 0;
  62. virtual BOOL GetDataDirection( DirectionType *ptype ) = 0;
  63. };
  64. class IVideoProperty
  65. {
  66. public:
  67. virtual BOOL GetVideoProperty(VIDEOPROPTYPE PropertyType, PVOID pProperty)=0;
  68. virtual BOOL SetVideoProperty(VIDEOPROPTYPE PropetyType, PVOID pProperty)=0;
  69. };
  70. class IAudioProperty
  71. {
  72. public:
  73. virtual BOOL GetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)=0;
  74. virtual BOOL SetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)=0;
  75. };
  76. class ISubpicProperty
  77. {
  78. public:
  79. virtual BOOL GetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)=0;
  80. virtual BOOL SetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)=0;
  81. };
  82. class ICopyProtectProperty
  83. {
  84. public:
  85. virtual BOOL CppInit() =0;
  86. virtual BOOL SetChlgKey(UCHAR *)=0;
  87. virtual BOOL GetChlgKey(UCHAR *)=0;
  88. virtual BOOL SetDVDKey1(UCHAR *)=0;
  89. virtual BOOL GetDVDKey2(UCHAR *)=0;
  90. virtual BOOL SetTitleKey(UCHAR *)=0;
  91. virtual BOOL SetDiscKey(UCHAR *)=0;
  92. };
  93. class IMPEGBoard
  94. {
  95. public:
  96. virtual BOOL Init()=NULL;
  97. virtual BOOL AddStreamObjectInterface(IBaseStream *)=NULL;
  98. virtual BOOL ReleaseStreamObjectInterface(IBaseStream *)=NULL;
  99. virtual BOOL PowerOn()=NULL;
  100. virtual BOOL PowerOff()=NULL;
  101. virtual BOOL SetSTC(DWORD)=NULL;
  102. virtual BOOL GetSTC(DWORD *)=NULL;
  103. virtual BOOL SetHALObjectInterface(IClassLibHAL *)=NULL;
  104. };