public void MarkComplete(RemoveActivePlaybackEngineCallback callback) { while (source == null || source.State.BuffersQueued > 0) { Thread.Sleep(10); } source.Dispose(); callback(); GC.KeepAlive(this); }
public void MarkComplete(RemoveActivePlaybackEngineCallback callback) { ThreadPool.QueueUserWorkItem(DisposeOnFinish, callback); }