public void Start()
{
if (!IsRunning)
{
// check source
if (string.IsNullOrEmpty(deviceMoniker))
throw new ArgumentException("Video source is not specified.");
framesReceived = 0;
bytesReceived = 0;
isCrossbarAvailable = null;
needToSetVideoInput = true;
// create events
stopEvent = new ManualResetEvent(false);
lock (sync)
{
// create and start new thread
thread = new Thread(new ThreadStart(WorkerThread));
thread.Name = deviceMoniker; // mainly for debugging
thread.Start();
}
}
}