home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Game Programming for Teens / VBGPFT.cdr / DirectX8 / dx8a_sdk.exe / samples / multimedia / directshow / baseclasses / amextra.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-10-02  |  1.5 KB  |  57 lines

  1. //------------------------------------------------------------------------------
  2. // File: AMExtra.h
  3. //
  4. // Desc: DirectShow base classes.
  5. //
  6. // Copyright (c) 1992 - 2000, Microsoft Corporation.  All rights reserved.
  7. //------------------------------------------------------------------------------
  8.  
  9.  
  10. #ifndef __AMEXTRA__
  11. #define __AMEXTRA__
  12.  
  13. // Simple rendered input pin
  14. //
  15. // NOTE if your filter queues stuff before rendering then it may not be
  16. // appropriate to use this class
  17. //
  18. // In that case queue the end of stream condition until the last sample
  19. // is actually rendered and flush the condition appropriately
  20.  
  21. class CRenderedInputPin : public CBaseInputPin
  22. {
  23. public:
  24.  
  25.     CRenderedInputPin(TCHAR *pObjectName,
  26.                       CBaseFilter *pFilter,
  27.                       CCritSec *pLock,
  28.                       HRESULT *phr,
  29.                       LPCWSTR pName);
  30. #ifdef UNICODE
  31.     CRenderedInputPin(CHAR *pObjectName,
  32.                       CBaseFilter *pFilter,
  33.                       CCritSec *pLock,
  34.                       HRESULT *phr,
  35.                       LPCWSTR pName);
  36. #endif
  37.     
  38.     // Override methods to track end of stream state
  39.     STDMETHODIMP EndOfStream();
  40.     STDMETHODIMP EndFlush();
  41.  
  42.     HRESULT Active();
  43.     HRESULT Run(REFERENCE_TIME tStart);
  44.  
  45. protected:
  46.  
  47.     // Member variables to track state
  48.     BOOL m_bAtEndOfStream;      // Set by EndOfStream
  49.     BOOL m_bCompleteNotified;   // Set when we notify for EC_COMPLETE
  50.  
  51. private:
  52.     void DoCompleteHandling();
  53. };
  54.  
  55. #endif // __AMEXTRA__
  56.  
  57.