DWORD WINAPI _camThread(LPVOID lpParam)
{
	_camThreadLaunched=true;
	while (_camThreadLaunched)
	{
		static bool firstHere=true;
		if (firstHere)
			displayAcknowledgment=true;
		firstHere=false;
		EnterCriticalSection(&m_cs);
		for (int i=0;i<4;i++)
		{
			if (openCaptureDevices[i])
			{
				if (isCaptureDone(i))
					doCapture(i);
			}
		}
		LeaveCriticalSection(&m_cs);
		Sleep(10);
	}
	for (int i=0;i<4;i++)
	{
		if (openCaptureDevices[i])
		{
			deinitCapture(i);
			delete[] captureInfo[i].mTargetBuf;
		}
		openCaptureDevices[i]=false;
	}
	_camThreadLaunched=true;
	return(0);
}
///
/// @return Returns TRUE upon completion
///
bool SimpleDirectShowAcq::CaptureFrame()
{
	doCapture(m_cameraIndex);

	while (!isCaptureDone(m_cameraIndex))	// captures into m_buf
	{
		Sleep(1);
	}

	return true;
}