www.pudn.com > vc++shipinkaifa.rar > CMPEG1Builder.h, change:2003-12-30,size:1133b


// 
// CMPEG1Builder.h 
// 
 
#ifndef __H_CMPEG1Builder__ 
#define __H_CMPEG1Builder__ 
 
#include "IMPEG1Builder.h" 
 
class CMPEG1Builder : public CUnknown 
                    , public IMPEG1Builder 
					, public IDistributorNotify 
{ 
public: 
	CMPEG1Builder(LPUNKNOWN pUnk, HRESULT *phr); 
    ~CMPEG1Builder(); 
 
	DECLARE_IUNKNOWN; 
	static CUnknown * WINAPI CreateInstance(LPUNKNOWN punk, HRESULT *phr); 
	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv);  
 
	// --- IMPEG1Builder methods --- 
	STDMETHODIMP IsMPEG1File(const char * inFilePath); 
	STDMETHODIMP RenderMPEG1File(const char * inFilePath); 
 
	// --- IDistributorNotify methods --- 
	STDMETHODIMP NotifyGraphChange(void); 
	STDMETHODIMP Pause(void); 
	STDMETHODIMP Run(REFERENCE_TIME tStart); 
	STDMETHODIMP Stop(void); 
	STDMETHODIMP SetSyncSource(IReferenceClock *pClock); 
	 
private: 
	IGraphBuilder * RetrieveGraphBuilder(void); 
	IPin * GetPinByDirection(IBaseFilter * inFilter, PIN_DIRECTION inDirection); 
	IPin * GetPinByName(IBaseFilter * inFilter, const char * inPinName, BOOL inInput = FALSE); 
}; 
 
#endif // __H_CMPEG1Builder__