www.pudn.com > AudioVideoCapture.rar > CGraphController.h


// 
// CGraphController.h 
//  
 
#ifndef __H_CGraphController__ 
#define __H_CGraphController__ 
 
#include "CVideoRendererFilter.h" 
#include "CAudioRendererFilter.h" 
#include "CMsgReceiver.h" 
 
class CDXGraph; 
class CDXFilter; 
class CVideoWindow; 
class CLiveCapture; 
class CLiveInputFilters; 
class CGraphController : public CMsgReceiver 
{ 
protected: 
	CDXGraph *          mGraph; 
	CVideoWindow *      mVideoWindow; 
	CLiveCapture *      mLiveCapture; 
	BOOL                mIsGraphActive; 
 
	CLiveInputFilters *     mInputFilters; 
	CVideoRendererFilter *  mVideoRenderer; 
	CAudioRendererFilter *  mAudioRenderer; 
 
public: 
	CGraphController(); 
	virtual ~CGraphController(); 
 
	void SetVideoWindow(CVideoWindow * inWindow); 
	void SetLiveCapture(CLiveCapture * inData); 
	CLiveInputFilters * GetInputFilters(void) { return mInputFilters;} 
	virtual BOOL IsActiveDeviceLost(IUnknown * pLost); 
	virtual BOOL SnapshotToFile(const char * inFile); 
 
	BOOL Activate(void); 
	void Deactive(void); 
	virtual BOOL IsPAL(void); 
 
	BOOL PlayGraph(void); 
	BOOL PauseGraph(void); 
	BOOL StopGraph(void); 
	BOOL IsGraphActive(void); 
 
	virtual bool ReceiveMessage(MessageT inMessage, void * ioParam, 
		void * ioParam2); 
 
protected: 
	BOOL CreateGraph(void); 
	void DeleteGraph(void); 
 
	virtual BOOL ConnectFilters(void); 
	virtual void DisconnectFilters(void); 
 
	virtual BOOL CreateInputFilters(void); 
	virtual void ReleaseInputFilters(void); 
	virtual BOOL CreateOutputFilters(void); 
	virtual void ReleaseOutputFilters(void); 
}; 
 
#endif // __H_CGraphController__