www.pudn.com > AudioVideoCapture.rar > CVideoCaptureFilter.cpp


//
// CVideoCaptureFilter.cpp
//

#include "stdafx.h"
#include "CVideoCaptureFilter.h"

#include "GlobalDefs.h"
#include "UDsUtils.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

////////////////////////////////////////////////////////////////////////
CVideoCaptureFilter::CVideoCaptureFilter(IGraphBuilder * inGraph,
const char * inDeviceName)
: CDXFilter(inGraph, GUID_NULL, "Video Capture")
{
if (inDeviceName)
{
strcpy(mDeviceName, inDeviceName);
}
}

CVideoCaptureFilter::~CVideoCaptureFilter(void)
{
ReleaseFilter();
}

BOOL CVideoCaptureFilter::CreateFilter(void)
{
if (mFilter)
{
return TRUE;
}

if (mGraph)
{
mFilter = UDsUtils::CreateVideoDevice(mDeviceName);
if (mFilter)
{
if (SUCCEEDED(mGraph->AddFilter(mFilter, mName)))
{
return TRUE;
}
}
}

ReleaseFilter();
return FALSE;
}

void CVideoCaptureFilter::ReleaseFilter(void)
{
CDXFilter::ReleaseFilter();
}