diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-07 21:41:03 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-07 21:41:03 -0400 |
| commit | c02e917f5657db4bd76fc6ca17c535fc441c641c (patch) | |
| tree | b09ae21bd9c5f15cc9594eba27f5c982919c1872 /MediaBrowser.Api/ApiEntryPoint.cs | |
| parent | 379fa002288032097ff3222c7484136f10ab69d2 (diff) | |
completed auth database
Diffstat (limited to 'MediaBrowser.Api/ApiEntryPoint.cs')
| -rw-r--r-- | MediaBrowser.Api/ApiEntryPoint.cs | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/MediaBrowser.Api/ApiEntryPoint.cs b/MediaBrowser.Api/ApiEntryPoint.cs index 8e6ca4401..f255339bc 100644 --- a/MediaBrowser.Api/ApiEntryPoint.cs +++ b/MediaBrowser.Api/ApiEntryPoint.cs @@ -37,7 +37,7 @@ namespace MediaBrowser.Api private readonly ISessionManager _sessionManager; - public readonly SemaphoreSlim TranscodingStartLock = new SemaphoreSlim(1,1); + public readonly SemaphoreSlim TranscodingStartLock = new SemaphoreSlim(1, 1); /// <summary> /// Initializes a new instance of the <see cref="ApiEntryPoint" /> class. @@ -102,7 +102,7 @@ namespace MediaBrowser.Api { var jobCount = _activeTranscodingJobs.Count; - Parallel.ForEach(_activeTranscodingJobs.ToList(), j => KillTranscodingJob(j, FileDeleteMode.All)); + Parallel.ForEach(_activeTranscodingJobs.ToList(), j => KillTranscodingJob(j, path => true)); // Try to allow for some time to kill the ffmpeg processes and delete the partial stream files if (jobCount > 0) @@ -295,17 +295,18 @@ namespace MediaBrowser.Api { var job = (TranscodingJob)state; - KillTranscodingJob(job, FileDeleteMode.All); + KillTranscodingJob(job, path => true); } /// <summary> /// Kills the single transcoding job. /// </summary> /// <param name="deviceId">The device id.</param> - /// <param name="deleteMode">The delete mode.</param> + /// <param name="delete">The delete.</param> /// <param name="acquireLock">if set to <c>true</c> [acquire lock].</param> + /// <returns>Task.</returns> /// <exception cref="System.ArgumentNullException">sourcePath</exception> - internal async Task KillTranscodingJobs(string deviceId, FileDeleteMode deleteMode, bool acquireLock) + internal async Task KillTranscodingJobs(string deviceId, Func<string, bool> delete, bool acquireLock) { if (string.IsNullOrEmpty(deviceId)) { @@ -330,12 +331,12 @@ namespace MediaBrowser.Api { await TranscodingStartLock.WaitAsync(CancellationToken.None).ConfigureAwait(false); } - + try { foreach (var job in jobs) { - KillTranscodingJob(job, deleteMode); + KillTranscodingJob(job, delete); } } finally @@ -352,10 +353,11 @@ namespace MediaBrowser.Api /// </summary> /// <param name="deviceId">The device identifier.</param> /// <param name="type">The type.</param> - /// <param name="deleteMode">The delete mode.</param> + /// <param name="delete">The delete.</param> /// <param name="acquireLock">if set to <c>true</c> [acquire lock].</param> + /// <returns>Task.</returns> /// <exception cref="System.ArgumentNullException">deviceId</exception> - internal async Task KillTranscodingJobs(string deviceId, TranscodingJobType type, FileDeleteMode deleteMode, bool acquireLock) + internal async Task KillTranscodingJobs(string deviceId, TranscodingJobType type, Func<string, bool> delete, bool acquireLock) { if (string.IsNullOrEmpty(deviceId)) { @@ -385,7 +387,7 @@ namespace MediaBrowser.Api { foreach (var job in jobs) { - KillTranscodingJob(job, deleteMode); + KillTranscodingJob(job, delete); } } finally @@ -401,8 +403,8 @@ namespace MediaBrowser.Api /// Kills the transcoding job. /// </summary> /// <param name="job">The job.</param> - /// <param name="deleteMode">The delete mode.</param> - private void KillTranscodingJob(TranscodingJob job, FileDeleteMode deleteMode) + /// <param name="delete">The delete.</param> + private void KillTranscodingJob(TranscodingJob job, Func<string, bool> delete) { lock (_activeTranscodingJobs) { @@ -454,7 +456,7 @@ namespace MediaBrowser.Api } } - if (deleteMode == FileDeleteMode.All) + if (delete(job.Path)) { DeletePartialStreamFiles(job.Path, job.Type, 0, 1500); } @@ -593,10 +595,4 @@ namespace MediaBrowser.Api /// </summary> Hls } - - public enum FileDeleteMode - { - None, - All - } } |
