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( );
}
}
}