www.pudn.com > VideoSender.rar > Video.h


// Video.h: interface for the CVideo class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_VIDEO_H__6E083697_A397_4C0D_88F2_9D359039EB70__INCLUDED_) 
#define AFX_VIDEO_H__6E083697_A397_4C0D_88F2_9D359039EB70__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
#include "streams.h" 
class CVideo   
{ 
public: 
	CVideo(); 
	virtual ~CVideo(); 
public: 
	void ShowSenderProperty(); 
	void Pause(); 
	void ShowFilterProperty(); 
	void ShowPinProperty(); 
	void RunVideo(); 
	void Unload(); 
	void ShowProperPage(); 
	BOOL Run(); 
	BOOL Init(); 
private: 
	HRESULT AddFilterByCLSID(IGraphBuilder *pGraph,const GUID &clsid,LPCWSTR wszName,IBaseFilter **ppF); 
private: 
	BOOL IsWDMCard(IBaseFilter *pDeviceFilter); 
 
	HRESULT ConnectFilters(IGraphBuilder *pGraph,IBaseFilter *pSrc,IBaseFilter *pDest); 
	HRESULT ConnectFilters(IGraphBuilder *pGraph,IPin *pOut,IBaseFilter *pDest); 
	HRESULT GetUnconnectedPin(IBaseFilter *pFilter,PIN_DIRECTION PinDir,IPin **ppPin); 
	HRESULT FindFilterByInterface(REFIID riid, IBaseFilter** ppFilter); 
	HRESULT SetDivxCompressorProp(IBaseFilter *pFilter); 
	bool DisplayPropertyPage(const char *pszFilterName, bool test); 
	IBaseFilter* FindFilterFromName(const char *pszFilterName); 
	void ShowErrMsg(HRESULT hr,CString str); 
	HRESULT EnumFilters(IEnumMoniker *pEnumCat); 
	void RemoveGraphFromRot(DWORD pdwRegister); 
	HRESULT AddGraphToRot(IUnknown *pUnkGraph, DWORD *pdwRegister); 
	void OnSelchangeListDevices() ; 
	HRESULT InitCaptureGraphBuilder(IGraphBuilder **ppGraph,ICaptureGraphBuilder2 **ppBuild); 
private: 
 
	IGraphBuilder *pGraph; 
	IMediaControl *pControl; 
	ICreateDevEnum * m_pSysDevEnum; 
	IBaseFilter *Device,*ECoder,*Sender; 
	ICaptureGraphBuilder2 *pBuilder; 
	DWORD dwRegister; 
}; 
 
#endif // !defined(AFX_VIDEO_H__6E083697_A397_4C0D_88F2_9D359039EB70__INCLUDED_)