diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-15 14:45:58 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-15 14:45:58 -0400 |
| commit | 2b8b98b59090ab6d077ac76cf9185da7d6ac126a (patch) | |
| tree | 106a2b646aea6ec8e854d95414c2a2b09265a4e9 /MediaBrowser.Server.Implementations | |
| parent | 3d9b862430f042af1bcb9a7cdffd446ed09f9ef9 (diff) | |
reduce scanning overhead a bit
Diffstat (limited to 'MediaBrowser.Server.Implementations')
4 files changed, 20 insertions, 28 deletions
diff --git a/MediaBrowser.Server.Implementations/MediaEncoder/MediaEncoder.cs b/MediaBrowser.Server.Implementations/MediaEncoder/MediaEncoder.cs index 08e2eb774..709c21f50 100644 --- a/MediaBrowser.Server.Implementations/MediaEncoder/MediaEncoder.cs +++ b/MediaBrowser.Server.Implementations/MediaEncoder/MediaEncoder.cs @@ -55,7 +55,7 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder /// <summary> /// The audio image resource pool /// </summary> - private readonly SemaphoreSlim _audioImageResourcePool = new SemaphoreSlim(2, 2); + private readonly SemaphoreSlim _audioImageResourcePool = new SemaphoreSlim(1, 1); /// <summary> /// The _subtitle extraction resource pool diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/AudioImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/AudioImagesTask.cs index db809a47b..66ca9db9a 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/AudioImagesTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/AudioImagesTask.cs @@ -147,6 +147,8 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks { // Image is already in the cache item.PrimaryImagePath = path; + + await _libraryManager.SaveItem(item, cancellationToken).ConfigureAwait(false); } } diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs index d46d4ec8a..7f158f1f2 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs @@ -2,6 +2,7 @@ using MediaBrowser.Controller; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; +using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; @@ -60,40 +61,27 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// <param name="cancellationToken">The cancellation token.</param> /// <param name="progress">The progress.</param> /// <returns>Task.</returns> - public Task Execute(CancellationToken cancellationToken, IProgress<double> progress) + public async Task Execute(CancellationToken cancellationToken, IProgress<double> progress) { - var videos = _libraryManager.RootFolder.RecursiveChildren.OfType<Video>().Where(v => v.Chapters != null).ToList(); + var videos = _libraryManager.RootFolder.RecursiveChildren + .OfType<Video>() + .Where(v => v.Chapters != null && v.Chapters.Count != 0) + .ToList(); var numComplete = 0; - var tasks = videos.Select(v => Task.Run(async () => + foreach (var video in videos) { - try - { - await _kernel.FFMpegManager.PopulateChapterImages(v, cancellationToken, true, true); - } - catch (OperationCanceledException) - { - throw; - } - catch (Exception ex) - { - _logger.ErrorException("Error creating chapter images for {0}", ex, v.Name); - } - finally - { - lock (progress) - { - numComplete++; - double percent = numComplete; - percent /= videos.Count; + cancellationToken.ThrowIfCancellationRequested(); + + await _kernel.FFMpegManager.PopulateChapterImages(video, cancellationToken, true, true); - progress.Report(100 * percent); - } - } - })); + numComplete++; + double percent = numComplete; + percent /= videos.Count; - return Task.WhenAll(tasks); + progress.Report(100 * percent); + } } /// <summary> diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs index a82c22fe9..a995f1a47 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs @@ -176,6 +176,8 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks { // Image is already in the cache item.PrimaryImagePath = path; + + await _libraryManager.SaveItem(item, cancellationToken).ConfigureAwait(false); } } |
