public static void Update() { if (_PreviewStartHelperTask != null && (_PreviewPlayer.Length > 0 || _PreviewStartWaitCounter++ >= _PreviewStartWaitMaxTries)) { lock (_PreviewStartHelperTaskLock) { // Recheck the condition as it cloud have change before we got the lock if (_PreviewStartHelperTask != null && (_PreviewPlayer.Length > 0 || _PreviewStartWaitCounter++ >= _PreviewStartWaitMaxTries)) { _PreviewStartHelperTask.RunSynchronously(TaskScheduler.FromCurrentSynchronizationContext()); _PreviewStartHelperTask = null; _PreviewStartWaitCounter = 0; } } } if (!IsPlaying) { return; } _CurPlayer.Update(); if (!IsPlayingPreview && _BGPlayer.IsFinished) { Next(); } }
public static void Update() { if (_PreviewStartHelperTask != null && (_PreviewPlayer.Length > 0 || _PreviewStartWaitCounter++ >= _PreviewStartWaitMaxTries)) { _PreviewStartHelperTask.RunSynchronously(TaskScheduler.FromCurrentSynchronizationContext()); _PreviewStartHelperTask.Dispose(); _PreviewStartHelperTask = null; _PreviewStartWaitCounter = 0; } if (!IsPlaying) { return; } _CurPlayer.Update(); if (!IsPlayingPreview && _BGPlayer.IsFinished) { Next(); } }