From 888b8d619aec031f57cfd03410ccda52edcca958 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 20 Feb 2014 11:37:41 -0500 Subject: added encoding manager interface --- .../ScheduledTasks/ChapterImagesTask.cs | 33 ++++++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) (limited to 'MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs') diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs index 2608ac172..2a115c8dd 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs @@ -1,7 +1,8 @@ -using MediaBrowser.Common.ScheduledTasks; +using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.MediaInfo; +using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; @@ -41,17 +42,23 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks private readonly IItemRepository _itemRepo; + private readonly IApplicationPaths _appPaths; + + private readonly IEncodingManager _encodingManager; + /// /// Initializes a new instance of the class. /// /// The log manager. /// The library manager. /// The item repo. - public ChapterImagesTask(ILogManager logManager, ILibraryManager libraryManager, IItemRepository itemRepo) + public ChapterImagesTask(ILogManager logManager, ILibraryManager libraryManager, IItemRepository itemRepo, IApplicationPaths appPaths, IEncodingManager encodingManager) { _logger = logManager.GetLogger(GetType().Name); _libraryManager = libraryManager; _itemRepo = itemRepo; + _appPaths = appPaths; + _encodingManager = encodingManager; libraryManager.ItemAdded += libraryManager_ItemAdded; libraryManager.ItemUpdated += libraryManager_ItemAdded; @@ -102,7 +109,14 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks { var chapters = _itemRepo.GetChapters(item.Id).ToList(); - await FFMpegManager.Instance.PopulateChapterImages(item, chapters, true, true, CancellationToken.None); + await _encodingManager.RefreshChapterImages(new ChapterImageRefreshOptions + { + SaveChapters = true, + ExtractImages = true, + Video = item, + Chapters = chapters + + }, CancellationToken.None); } catch (Exception ex) { @@ -137,7 +151,7 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks var numComplete = 0; - var failHistoryPath = Path.Combine(FFMpegManager.Instance.ChapterImagesPath, "failures.txt"); + var failHistoryPath = Path.Combine(_appPaths.CachePath, "chapter-failures.txt"); List previouslyFailedImages; @@ -166,7 +180,14 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks var chapters = _itemRepo.GetChapters(video.Id).ToList(); - var success = await FFMpegManager.Instance.PopulateChapterImages(video, chapters, extract, true, cancellationToken); + var success = await _encodingManager.RefreshChapterImages(new ChapterImageRefreshOptions + { + SaveChapters = true, + ExtractImages = extract, + Video = video, + Chapters = chapters + + }, CancellationToken.None); if (!success) { -- cgit v1.2.3