private void DownloadProcessExited(Process process, VideoConfig video) { var exitCode = process.ExitCode; if (exitCode != 0) { Log.Warn(_downloadLog.Length > 0 ? _downloadLog : "Empty youtube-dl log"); video.DownloadState = DownloadState.Cancelled; } Log.Info($"Download process exited with code {exitCode}"); if (video.DownloadState == DownloadState.Cancelled) { Log.Info("Cancelled download"); VideoLoader.DeleteVideo(video); DownloadFinished?.Invoke(video); } else { process.Disposed -= DownloadProcessDisposed; _downloadProcesses.TryRemove(video, out _); video.DownloadState = DownloadState.Downloaded; video.NeedsToSave = true; SharedCoroutineStarter.instance.StartCoroutine(WaitForDownloadToFinishCoroutine(video)); Log.Info("Download finished"); } }
public void CancelDownload(VideoConfig video) { Log.Debug("Cancelling download"); video.DownloadState = DownloadState.Cancelled; DownloadProgress?.Invoke(video); var success = _downloadProcesses.TryGetValue(video, out var process); if (success) { DisposeProcess(process); } VideoLoader.DeleteVideo(video); }