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.

72 lines
2.3 KiB

  1. //**************************************************************************
  2. //
  3. // Title : SchDat.h
  4. //
  5. // Date : 1998.03.10 1st making
  6. //
  7. // Author : Toshiba [PCS](PSY) Hideki Yagi
  8. //
  9. // Copyright 1997 Toshiba Corporation. All Rights Reserved.
  10. //
  11. // -------------------------------------------------------------------------
  12. //
  13. // Change log :
  14. //
  15. // Date Revision Description
  16. // ------------ ---------- -----------------------------------------------
  17. // 1998.03.10 000.0000 1st making.
  18. //
  19. //**************************************************************************
  20. #ifndef REARRANGEMENT
  21. #define INIT_DVD_DATA 0
  22. #define VALID_DVD_DATA 1
  23. #define INVALID_DVD_DATA 2
  24. #define DVD_DATA_MAX 0x10000
  25. #define SRB_POINTER_MAX 0x30
  26. #endif REARRANGEMENT
  27. class CScheduleData
  28. {
  29. public:
  30. CScheduleData( void );
  31. ~CScheduleData( void );
  32. BOOL Init( void );
  33. BOOL SendData( PHW_STREAM_REQUEST_BLOCK pSrb );
  34. DWORD calcWaitTime( PHW_STREAM_REQUEST_BLOCK pSrb );
  35. void putSRB( PHW_STREAM_REQUEST_BLOCK pSrb );
  36. PHW_STREAM_REQUEST_BLOCK getSRB( void );
  37. PHW_STREAM_REQUEST_BLOCK checkTopSRB( void );
  38. void flushSRB( void );
  39. void FastSlowControl( PHW_STREAM_REQUEST_BLOCK pSrb );
  40. BOOL removeSRB( PHW_STREAM_REQUEST_BLOCK pSRb );
  41. DWORD GetDataPTS( PKSSTREAM_HEADER pStruc );
  42. #ifndef REARRANGEMENT
  43. void InitRearrangement(void);
  44. WORD SetSrbPointerTable( PHW_STREAM_REQUEST_BLOCK pSrb );
  45. void SkipInvalidDvdData(void);
  46. void SetWdmBuff(PHW_STREAM_REQUEST_BLOCK pSrb, WORD wWdmBuffptr, WORD wReadPacketNumber, ULONG ulNumber);
  47. void IncSendPacketNumber(void);
  48. void SendWdmBuff( PHW_STREAM_REQUEST_BLOCK pSrb, IMPEGBuffer *MPBuff);
  49. BOOL SendPacket(INT SendNumber);
  50. #endif REARRANGEMENT
  51. //private:
  52. // DWORD GetDataPTS( PKSSTREAM_HEADER pStruc );
  53. private:
  54. PHW_STREAM_REQUEST_BLOCK pTopSrb;
  55. PHW_STREAM_REQUEST_BLOCK pBottomSrb;
  56. ULONG count;
  57. public:
  58. KEVENT m_Event;
  59. BOOL fScanCallBack;
  60. #ifndef REARRANGEMENT
  61. char m_bDvdDataTable[DVD_DATA_MAX];//DVD�ް��Ǘ�ð���
  62. LONG m_SrbPointerTable[SRB_POINTER_MAX]; //SRB pointer table
  63. int m_SendPacketNumber;
  64. #endif REARRANGEMENT
  65. };