public void Cleanup(object sender, System.ComponentModel.CancelEventArgs e) { // stop forwarding frames downVideoCapture.FrameCaptureDelegates.Clear(); upVideoCapture.FrameCaptureDelegates.Clear(); Thread.Sleep(100); // shut down cameras if (downVideoCapture.IsRunning()) { downVideoCapture.NoWaitClose(); } if (upVideoCapture.IsRunning()) { upVideoCapture.NoWaitClose(); } }