aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/ApiEntryPoint.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-07-07 21:41:03 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-07-07 21:41:03 -0400
commitc02e917f5657db4bd76fc6ca17c535fc441c641c (patch)
treeb09ae21bd9c5f15cc9594eba27f5c982919c1872 /MediaBrowser.Api/ApiEntryPoint.cs
parent379fa002288032097ff3222c7484136f10ab69d2 (diff)
completed auth database
Diffstat (limited to 'MediaBrowser.Api/ApiEntryPoint.cs')
-rw-r--r--MediaBrowser.Api/ApiEntryPoint.cs34
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
- }
}