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_)