// Camera.h: interface for the CCamera class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CAMERA_H__B5ACFC9D_D275_4114_940F_213B07C494B0__INCLUDED_)
#define AFX_CAMERA_H__B5ACFC9D_D275_4114_940F_213B07C494B0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Dshow.h"
#include "amstream.h"
#include "Qedit.h"
class CCamera
{
public:
CCamera();
virtual ~CCamera();
int m_iTotal;
private:
DWORD m_dwRegister;
IMoniker* m_gVideoMoniker[3]; // This will access the actual devices
IBaseFilter* m_pSrc[3];
IGraphBuilder* m_pGraph[3];
ICaptureGraphBuilder2* m_pCapture[3];
IVideoWindow* m_pVW[3];
IMediaControl* m_pMc[3];
IBaseFilter* m_pF[3];
ISampleGrabber* m_pGrab[3];
IBaseFilter* m_pNull[3];
HWND m_hCapWnd[3];
public:
BOOL CCameraInit();
BOOL CCameraBindFilter();
// BOOL CCameraFormat();
// BOOL CCameraPreviewWindow();
// BOOL GetPin(IBaseFilter* pFilter, PIN_DIRECTION PinDir, IPin** ppPin);
HRESULT GetUnconnectedPin(IBaseFilter* pFilter, PIN_DIRECTION PinDir, IPin** ppPin);
BOOL ConnectFilters(IGraphBuilder* pGraph, IBaseFilter* pFirst, IBaseFilter* pSecond);
HRESULT AddToRot(IUnknown* pUnkGraph, DWORD* pdwRegister);
void RemoveFromRot(DWORD pdwRegister);
BOOL CCameraGetImage(int i);
// BOOL CCameraSizeImage(CBmpProc* aBmpProc, CRect aRect, CString sFilePath, int nCamera);
BOOL CreteMultileveDir(CString strFilePath);
void MyFreeMediaType(AM_MEDIA_TYPE& mt);
WCHAR* ToWChar(char* str);
};
#endif // !defined(AFX_CAMERA_H__B5ACFC9D_D275_4114_940F_213B07C494B0__INCLUDED_)
// Camera.cpp: implementation of the CCamera class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CameraClientOne.h"
#include "Camera.h"
#include <vfw.h>
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCamera::CCamera()
{
m_iTotal = 0;
for(int i=0; i<1; i++)
{
m_gVideoMoniker[i] = NULL;
m_hCapWnd[i] = NULL;
m_pCapture[i] = NULL;
m_pF[i] = NULL;
m_pGrab[i] = NULL;
m_pMc[i] = NULL;
m_pSrc[i] = NULL;
m_pVW[i] = NULL;
m_pNull[i] = NULL;
