diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-21 21:29:06 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-21 21:29:06 -0400 |
| commit | c524f3919ef019092d3bcfa246870bc3f16070c5 (patch) | |
| tree | dc90081f8854340b275ce4e40cccaa7ff14e9847 /MediaBrowser.Api | |
| parent | ce20066bc0e2c7ba1634200cdee6ac339d4dfb60 (diff) | |
added cloud sync model objects
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/ApiEntryPoint.cs | 55 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Hls/BaseHlsService.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserService.cs | 2 |
4 files changed, 11 insertions, 53 deletions
diff --git a/MediaBrowser.Api/ApiEntryPoint.cs b/MediaBrowser.Api/ApiEntryPoint.cs index f255339bc3..c51d9e7c01 100644 --- a/MediaBrowser.Api/ApiEntryPoint.cs +++ b/MediaBrowser.Api/ApiEntryPoint.cs @@ -302,75 +302,38 @@ namespace MediaBrowser.Api /// Kills the single transcoding job. /// </summary> /// <param name="deviceId">The device id.</param> - /// <param name="delete">The delete.</param> + /// <param name="deleteFiles">The delete files.</param> /// <param name="acquireLock">if set to <c>true</c> [acquire lock].</param> /// <returns>Task.</returns> + /// <exception cref="ArgumentNullException">deviceId</exception> /// <exception cref="System.ArgumentNullException">sourcePath</exception> - internal async Task KillTranscodingJobs(string deviceId, Func<string, bool> delete, bool acquireLock) + internal Task KillTranscodingJobs(string deviceId, Func<string, bool> deleteFiles, bool acquireLock) { if (string.IsNullOrEmpty(deviceId)) { throw new ArgumentNullException("deviceId"); } - var jobs = new List<TranscodingJob>(); - - 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); } /// <summary> /// Kills the transcoding jobs. /// </summary> - /// <param name="deviceId">The device identifier.</param> - /// <param name="type">The type.</param> - /// <param name="delete">The delete.</param> + /// <param name="killJob">The kill job.</param> + /// <param name="deleteFiles">The delete files.</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, Func<string, bool> delete, bool acquireLock) + internal async Task KillTranscodingJobs(Func<TranscodingJob,bool> killJob, Func<string, bool> deleteFiles, bool acquireLock) { - if (string.IsNullOrEmpty(deviceId)) - { - throw new ArgumentNullException("deviceId"); - } - var jobs = new List<TranscodingJob>(); 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 diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs index 317c4455a6..bd17dc0b25 100644 --- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs @@ -104,11 +104,6 @@ namespace MediaBrowser.Api.Playback.Hls } else { - if (!string.IsNullOrWhiteSpace(state.Request.DeviceId)) - { - await ApiEntryPoint.Instance.KillTranscodingJobs(state.Request.DeviceId, TranscodingJobType.Hls, p => true, false).ConfigureAwait(false); - } - // If the playlist doesn't already exist, startup ffmpeg try { diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index f01d8ddf4b..5e49fbf7aa 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -132,7 +132,7 @@ namespace MediaBrowser.Api.Playback.Hls // If the playlist doesn't already exist, startup ffmpeg try { - await ApiEntryPoint.Instance.KillTranscodingJobs(state.Request.DeviceId, TranscodingJobType.Hls, p => !string.Equals(p, playlistPath, StringComparison.OrdinalIgnoreCase), false).ConfigureAwait(false); + await ApiEntryPoint.Instance.KillTranscodingJobs(j => j.Type == TranscodingJobType.Hls && string.Equals(j.DeviceId, request.DeviceId, StringComparison.OrdinalIgnoreCase), p => !string.Equals(p, playlistPath, StringComparison.OrdinalIgnoreCase), false).ConfigureAwait(false); if (currentTranscodingIndex.HasValue) { diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index b7a43c2373..f5a1f54cbb 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -405,7 +405,7 @@ namespace MediaBrowser.Api if (!success) { - throw new UnauthorizedAccessException("Invalid user or password entered."); + throw new ArgumentException("Invalid user or password entered."); } var task = _userManager.ChangePassword(user, request.NewPassword); |
