From c524f3919ef019092d3bcfa246870bc3f16070c5 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 21 Jul 2014 21:29:06 -0400 Subject: added cloud sync model objects --- MediaBrowser.Api/ApiEntryPoint.cs | 55 +++++++-------------------------------- 1 file changed, 9 insertions(+), 46 deletions(-) (limited to 'MediaBrowser.Api/ApiEntryPoint.cs') diff --git a/MediaBrowser.Api/ApiEntryPoint.cs b/MediaBrowser.Api/ApiEntryPoint.cs index f255339bc..c51d9e7c0 100644 --- a/MediaBrowser.Api/ApiEntryPoint.cs +++ b/MediaBrowser.Api/ApiEntryPoint.cs @@ -302,75 +302,38 @@ namespace MediaBrowser.Api /// Kills the single transcoding job. /// /// The device id. - /// The delete. + /// The delete files. /// if set to true [acquire lock]. /// Task. + /// deviceId /// sourcePath - internal async Task KillTranscodingJobs(string deviceId, Func delete, bool acquireLock) + internal Task KillTranscodingJobs(string deviceId, Func deleteFiles, bool acquireLock) { if (string.IsNullOrEmpty(deviceId)) { throw new ArgumentNullException("deviceId"); } - var jobs = new List(); - - lock (_activeTranscodingJobs) - { - // This is really only needed for HLS. - // Progressive streams can stop on their own reliably - jobs.AddRange(_activeTranscodingJobs.Where(i => string.Equals(deviceId, i.DeviceId, StringComparison.OrdinalIgnoreCase))); - } - - if (jobs.Count == 0) - { - return; - } - - if (acquireLock) - { - await TranscodingStartLock.WaitAsync(CancellationToken.None).ConfigureAwait(false); - } - - try - { - foreach (var job in jobs) - { - KillTranscodingJob(job, delete); - } - } - finally - { - if (acquireLock) - { - TranscodingStartLock.Release(); - } - } + return KillTranscodingJobs(j => string.Equals(deviceId, j.DeviceId, StringComparison.OrdinalIgnoreCase), deleteFiles, acquireLock); } /// /// Kills the transcoding jobs. /// - /// The device identifier. - /// The type. - /// The delete. + /// The kill job. + /// The delete files. /// if set to true [acquire lock]. /// Task. /// deviceId - internal async Task KillTranscodingJobs(string deviceId, TranscodingJobType type, Func delete, bool acquireLock) + internal async Task KillTranscodingJobs(Func killJob, Func deleteFiles, bool acquireLock) { - if (string.IsNullOrEmpty(deviceId)) - { - throw new ArgumentNullException("deviceId"); - } - var jobs = new List(); lock (_activeTranscodingJobs) { // This is really only needed for HLS. // Progressive streams can stop on their own reliably - jobs.AddRange(_activeTranscodingJobs.Where(i => string.Equals(deviceId, i.DeviceId, StringComparison.OrdinalIgnoreCase) && i.Type == type)); + jobs.AddRange(_activeTranscodingJobs.Where(killJob)); } if (jobs.Count == 0) @@ -387,7 +350,7 @@ namespace MediaBrowser.Api { foreach (var job in jobs) { - KillTranscodingJob(job, delete); + KillTranscodingJob(job, deleteFiles); } } finally -- cgit v1.2.3