private void imageProcessingThread_Worker()
{
while (true)
{
// wait for new frame to process
isNewFrameAvailable.WaitOne();
// if it is null, then we need to exit
if (lastVideoFrame == null)
{
break;
}
if (NewFrame != null)
{
NewFrame(this, new NewFrameEventArgs(lastVideoFrame));
}
lastVideoFrame.Dispose();
lastVideoFrame = null;
framesProcessed++;
// we are free now for new image
isProcessingThreadAvailable.Set();
}
}