www.pudn.com > Face3DModel.zip > VideoCamera.h
// VideoCamera.h: interface for the CVideoCamera class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_VIDEOCAMERA_H__F889F22D_2821_4BF0_863C_0270F2312EC6__INCLUDED_)
#define AFX_VIDEOCAMERA_H__F889F22D_2821_4BF0_863C_0270F2312EC6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "IVideoSource.h"
class CVideoCamera : public IVideoSource
{
public:
CVideoCamera();
virtual ~CVideoCamera();
// IVideoSource interface
BOOL Connect();
BOOL Disconnect();
BOOL IsConnect();
BOOL GetSize(long *pWidth, long *pHeight);
BOOL SetVideoWindow(HWND hWnd, long x, long y, long width, long height);
BOOL Run();
BOOL Pause();
BOOL Stop();
LONG GetState();
BOOL GetCurrentBuffer(long * pBufferSize, long *pBuffer);
void OnCameraVideoSource();
void OnCameraVideoFormat();
protected:
HRESULT CVideoCamera::GetMyCaptureDevice(IBaseFilter **pF, BSTR bstrName);
private:
CComPtr m_pSrc;
CComPtr m_pSample;
CComPtr m_pGraph;
CComPtr m_pBuilder;
CComPtr m_pSampleGrabber;
IVideoWindow *m_pVW;
BOOL m_fConnect;
};
#endif // !defined(AFX_VIDEOCAMERA_H__F889F22D_2821_4BF0_863C_0270F2312EC6__INCLUDED_)