protected virtual void Dispose(bool safe) { if (safe) { if (videoRender != null) { videoRender.Dispose(); videoRender = null; } if (audioPlayer != null) { audioPlayer.Dispose(); audioPlayer = null; } if (videoDecoder != null) { videoDecoder.Dispose(); videoDecoder = null; } /*if (demuxPacketsTask != null) * { * demuxPacketsTask.Dispose(); * demuxPacketsTask = null; * }*/ if (CancelTokenSource != null) { CancelTokenSource.Dispose(); CancelTokenSource = null; } if (demuxPacketsCancellationTokenSource != null) { demuxPacketsCancellationTokenSource.Dispose(); demuxPacketsCancellationTokenSource = null; } if (videoRefreshTimer != null) { videoRefreshTimer.Dispose(); videoRefreshTimer = null; } if (audioRefreshTimer != null) { audioRefreshTimer.Dispose(); audioRefreshTimer = null; } } }