CMPEG1Builder.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:1k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. //
  2. // CMPEG1Builder.h
  3. //
  4. #ifndef __H_CMPEG1Builder__
  5. #define __H_CMPEG1Builder__
  6. #include "IMPEG1Builder.h"
  7. class CMPEG1Builder : public CUnknown
  8.                     , public IMPEG1Builder
  9. , public IDistributorNotify
  10. {
  11. public:
  12. CMPEG1Builder(LPUNKNOWN pUnk, HRESULT *phr);
  13.     ~CMPEG1Builder();
  14. DECLARE_IUNKNOWN;
  15. static CUnknown * WINAPI CreateInstance(LPUNKNOWN punk, HRESULT *phr);
  16. STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv); 
  17. // --- IMPEG1Builder methods ---
  18. STDMETHODIMP IsMPEG1File(const char * inFilePath);
  19. STDMETHODIMP RenderMPEG1File(const char * inFilePath);
  20. // --- IDistributorNotify methods ---
  21. STDMETHODIMP NotifyGraphChange(void);
  22. STDMETHODIMP Pause(void);
  23. STDMETHODIMP Run(REFERENCE_TIME tStart);
  24. STDMETHODIMP Stop(void);
  25. STDMETHODIMP SetSyncSource(IReferenceClock *pClock);
  26. private:
  27. IGraphBuilder * RetrieveGraphBuilder(void);
  28. IPin * GetPinByDirection(IBaseFilter * inFilter, PIN_DIRECTION inDirection);
  29. IPin * GetPinByName(IBaseFilter * inFilter, const char * inPinName, BOOL inInput = FALSE);
  30. };
  31. #endif // __H_CMPEG1Builder__