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.

114 lines
5.8 KiB

  1. //***************************************************************************
  2. // Header file
  3. //
  4. //***************************************************************************
  5. extern "C" VOID STREAMAPI AdapterCancelPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  6. extern "C" VOID STREAMAPI AdapterTimeoutPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  7. extern "C" VOID STREAMAPI AdapterReceivePacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  8. VOID AdapterStreamInfo( PHW_STREAM_REQUEST_BLOCK pSrb );
  9. VOID HwProcessDataIntersection( PHW_STREAM_REQUEST_BLOCK pSrb );
  10. VOID AdapterOpenStream( PHW_STREAM_REQUEST_BLOCK pSrb );
  11. VOID AdapterCloseStream( PHW_STREAM_REQUEST_BLOCK pSrb );
  12. void ClockEvents( PHW_DEVICE_EXTENSION pHwDevExt );
  13. NTSTATUS STREAMAPI AudioEvent( PHW_EVENT_DESCRIPTOR pEvent );
  14. NTSTATUS STREAMAPI CycEvent( PHW_EVENT_DESCRIPTOR pEvent );
  15. extern "C" VOID STREAMAPI VideoReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  16. extern "C" VOID STREAMAPI VideoReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  17. extern "C" VOID STREAMAPI AudioReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  18. extern "C" VOID STREAMAPI AudioReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  19. extern "C" VOID STREAMAPI SubpicReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  20. extern "C" VOID STREAMAPI SubpicReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  21. extern "C" VOID STREAMAPI NtscReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  22. extern "C" VOID STREAMAPI NtscReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  23. extern "C" VOID STREAMAPI VpeReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  24. extern "C" VOID STREAMAPI VpeReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  25. extern "C" VOID STREAMAPI CCReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  26. extern "C" VOID STREAMAPI CCReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  27. void VideoDataDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
  28. void AudioDataDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
  29. void SubpicDataDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
  30. void VideoTimeDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
  31. void AudioTimeDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
  32. void SubpicTimeDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
  33. void VideoQueryAccept(PHW_STREAM_REQUEST_BLOCK pSrb);
  34. void ProcessVideoFormat( PKSDATAFORMAT pfmt, PHW_DEVICE_EXTENSION pHwDevExt );
  35. void BadWait( DWORD dwTime );
  36. void FastSlowControl( PHW_STREAM_REQUEST_BLOCK pSrb );
  37. DWORD xunGetPTS(void *pBuf);
  38. DWORD GetStreamID(void *pBuf);
  39. ULONG GetHowLongWait( PHW_DEVICE_EXTENSION pHwDevExt, PKSSTREAM_HEADER pStruc );
  40. void ScheduledDMAxfer( PHW_DEVICE_EXTENSION pHwDevExt );
  41. void PreDMAxfer( PHW_DEVICE_EXTENSION pHwDevExt );
  42. void DMAxfer( PHW_DEVICE_EXTENSION pHwDevExt );
  43. void DMAxferKeyData( PHW_DEVICE_EXTENSION pHwDevExt, PHW_STREAM_REQUEST_BLOCK pSrb, PUCHAR addr, DWORD dwSize, PHW_TIMER_ROUTINE pfnCallBack );
  44. void EndKeyData( PHW_DEVICE_EXTENSION pHwDevExt );
  45. void InitFirstTime( PHW_DEVICE_EXTENSION pHwDevExt, DWORD dwSTC );
  46. void MenuDecodeStart( PHW_DEVICE_EXTENSION pHwDevExt );
  47. void DecodeStart( PHW_DEVICE_EXTENSION pHwDevExt, DWORD dwSTC );
  48. void TimerDecodeStart( PHW_DEVICE_EXTENSION pHwDevExt );
  49. VOID TimerAudioMuteOff( PHW_DEVICE_EXTENSION pHwDevExt );
  50. void GetVideoProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  51. void SetVideoProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  52. void GetAudioProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  53. void SetAudioProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  54. void GetSubpicProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  55. void SetSubpicProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  56. void GetNtscProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  57. void SetNtscProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  58. void GetVpeProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  59. void SetVpeProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  60. void GetCCProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  61. void SetCCProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  62. void GetCppProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb, LONG strm );
  63. void SetCppProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
  64. VOID STREAMAPI StreamClockRtn( IN PHW_TIME_CONTEXT TimeContext );
  65. ULONGLONG GetSystemTime();
  66. ULONGLONG ConvertPTStoStrm(ULONG pts);
  67. ULONG ConvertStrmtoPTS(ULONGLONG strm);
  68. void TimerCppReset( PHW_STREAM_REQUEST_BLOCK pSrb );
  69. void SetPlayMode( PHW_DEVICE_EXTENSION pHwDevExt, ULONG mode );
  70. DWORD GetCurrentTime_ms( void );
  71. void StopData( PHW_DEVICE_EXTENSION pHwDevExt );
  72. void CheckAudioUnderflow( PHW_DEVICE_EXTENSION pHwDevExt );
  73. void UnderflowStopData( PHW_DEVICE_EXTENSION pHwDevExt );
  74. void ForcedStopData( PHW_DEVICE_EXTENSION pHwDevExt, ULONG flag );
  75. void StopDequeue( PHW_DEVICE_EXTENSION pHwDevExt );
  76. void SetAudioID( PHW_DEVICE_EXTENSION pHwDevExt, PKSSTREAM_HEADER pStruc );
  77. void SetSubpicID( PHW_DEVICE_EXTENSION pHwDevExt, PKSSTREAM_HEADER pStruc );
  78. void SetCppFlag( PHW_DEVICE_EXTENSION pHwDevExt );
  79. void AudioQueryAccept( PHW_STREAM_REQUEST_BLOCK pSrb );
  80. void ProcessAudioFormat( PKSDATAFORMAT pfmt, PHW_DEVICE_EXTENSION pHwDevExt );
  81. void ProcessAudioFormat2( PMYAUDIOFORMAT pfmt, PHW_DEVICE_EXTENSION pHwDevExt );
  82. void SetVideoRateDefault( PHW_DEVICE_EXTENSION pHwDevExt );
  83. void SetAudioRateDefault( PHW_DEVICE_EXTENSION pHwDevExt );
  84. void SetSubpicRateDefault( PHW_DEVICE_EXTENSION pHwDevExt );
  85. void SetRateChange( PHW_DEVICE_EXTENSION pHwDevExt, LONG strm );
  86. void SetVideoRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
  87. void SetAudioRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
  88. void SetSubpicRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
  89. void GetVideoRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
  90. void GetAudioRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
  91. void GetSubpicRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
  92. void GetLPCMInfo( void *pBuf, PMYAUDIOFORMAT pfmt );
  93. #define VIDEO_DISCONT_FLAG 0x01
  94. #define AUDIO_DISCONT_FLAG 0x02
  95. #define SUBPIC_DISCONT_FLAG 0x03
  96. #define IsEqualGUID2(guid1, guid2) \
  97. (!memcmp((guid1), (guid2), sizeof(GUID)))