public void StopProvider() { lock (this) { coreProvider.Stop(); coreProvider.WaitForStop(); img = null; provicerRuningState = false; } }
// Wait for stop public void WaitForStop() { videoSource.WaitForStop(); if (thread != null) { // wait for thread stop thread.Join(); Free(); } }
public void WaitForStop() { Monitor.Enter(syncCtrl); try { if (vsVideoSource != null) { vsVideoSource.WaitForStop(); } } catch (Exception err) { logger.Log(LogLevel.Error, err.Message + " " + err.Source + " " + err.StackTrace);; } finally { Monitor.Exit(syncCtrl); } }