diff options
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Chapters/IChapterManager.cs | 55 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Controller/IO/IPathManager.cs | 16 | ||||
| -rw-r--r-- | MediaBrowser.Controller/MediaEncoding/IEncodingManager.cs | 28 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Persistence/IChapterRepository.cs (renamed from MediaBrowser.Controller/Chapters/IChapterRepository.cs) | 26 |
5 files changed, 81 insertions, 51 deletions
diff --git a/MediaBrowser.Controller/Chapters/IChapterManager.cs b/MediaBrowser.Controller/Chapters/IChapterManager.cs new file mode 100644 index 000000000..7532e56c6 --- /dev/null +++ b/MediaBrowser.Controller/Chapters/IChapterManager.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; + +namespace MediaBrowser.Controller.Chapters; + +/// <summary> +/// Interface IChapterManager. +/// </summary> +public interface IChapterManager +{ + /// <summary> + /// Saves the chapters. + /// </summary> + /// <param name="video">The video.</param> + /// <param name="chapters">The set of chapters.</param> + void SaveChapters(Video video, IReadOnlyList<ChapterInfo> chapters); + + /// <summary> + /// Gets a single chapter of a BaseItem on a specific index. + /// </summary> + /// <param name="baseItemId">The BaseItems id.</param> + /// <param name="index">The index of that chapter.</param> + /// <returns>A chapter instance.</returns> + ChapterInfo? GetChapter(Guid baseItemId, int index); + + /// <summary> + /// Gets all chapters associated with the baseItem. + /// </summary> + /// <param name="baseItemId">The BaseItems id.</param> + /// <returns>A readonly list of chapter instances.</returns> + IReadOnlyList<ChapterInfo> GetChapters(Guid baseItemId); + + /// <summary> + /// Refreshes the chapter images. + /// </summary> + /// <param name="video">Video to use.</param> + /// <param name="directoryService">Directory service to use.</param> + /// <param name="chapters">Set of chapters to refresh.</param> + /// <param name="extractImages">Option to extract images.</param> + /// <param name="saveChapters">Option to save chapters.</param> + /// <param name="cancellationToken">CancellationToken to use for operation.</param> + /// <returns><c>true</c> if successful, <c>false</c> if not.</returns> + Task<bool> RefreshChapterImages(Video video, IDirectoryService directoryService, IReadOnlyList<ChapterInfo> chapters, bool extractImages, bool saveChapters, CancellationToken cancellationToken); + + /// <summary> + /// Deletes the chapter images. + /// </summary> + /// <param name="video">Video to use.</param> + void DeleteChapterImages(Video video); +} diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index d1a6b3584..a7ff75bb1 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -34,7 +34,6 @@ using MediaBrowser.Model.IO; using MediaBrowser.Model.Library; using MediaBrowser.Model.LiveTv; using MediaBrowser.Model.MediaInfo; -using MediaBrowser.Model.Providers; using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.Entities @@ -484,7 +483,7 @@ namespace MediaBrowser.Controller.Entities public static IItemRepository ItemRepository { get; set; } - public static IChapterRepository ChapterRepository { get; set; } + public static IChapterManager ChapterManager { get; set; } public static IFileSystem FileSystem { get; set; } @@ -2051,7 +2050,7 @@ namespace MediaBrowser.Controller.Entities { if (imageType == ImageType.Chapter) { - var chapter = ChapterRepository.GetChapter(this.Id, imageIndex); + var chapter = ChapterManager.GetChapter(Id, imageIndex); if (chapter is null) { @@ -2101,7 +2100,7 @@ namespace MediaBrowser.Controller.Entities if (image.Type == ImageType.Chapter) { - var chapters = ChapterRepository.GetChapters(this.Id); + var chapters = ChapterManager.GetChapters(Id); for (var i = 0; i < chapters.Count; i++) { if (chapters[i].ImagePath == image.Path) diff --git a/MediaBrowser.Controller/IO/IPathManager.cs b/MediaBrowser.Controller/IO/IPathManager.cs index 7c20164a6..4e4eb514e 100644 --- a/MediaBrowser.Controller/IO/IPathManager.cs +++ b/MediaBrowser.Controller/IO/IPathManager.cs @@ -1,5 +1,4 @@ using MediaBrowser.Controller.Entities; -using MediaBrowser.Model.Dto; namespace MediaBrowser.Controller.IO; @@ -46,4 +45,19 @@ public interface IPathManager /// <param name="mediaSourceId">The media source id.</param> /// <returns>The absolute path.</returns> public string GetAttachmentFolderPath(string mediaSourceId); + + /// <summary> + /// Gets the chapter images data path. + /// </summary> + /// <param name="item">The base item.</param> + /// <returns>The chapter images data path.</returns> + public string GetChapterImageFolderPath(BaseItem item); + + /// <summary> + /// Gets the chapter images path. + /// </summary> + /// <param name="item">The base item.</param> + /// <param name="chapterPositionTicks">The chapter position.</param> + /// <returns>The chapter images data path.</returns> + public string GetChapterImagePath(BaseItem item, long chapterPositionTicks); } diff --git a/MediaBrowser.Controller/MediaEncoding/IEncodingManager.cs b/MediaBrowser.Controller/MediaEncoding/IEncodingManager.cs deleted file mode 100644 index 8ce40a58d..000000000 --- a/MediaBrowser.Controller/MediaEncoding/IEncodingManager.cs +++ /dev/null @@ -1,28 +0,0 @@ -#nullable disable - -#pragma warning disable CS1591 - -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; - -namespace MediaBrowser.Controller.MediaEncoding -{ - public interface IEncodingManager - { - /// <summary> - /// Refreshes the chapter images. - /// </summary> - /// <param name="video">Video to use.</param> - /// <param name="directoryService">Directory service to use.</param> - /// <param name="chapters">Set of chapters to refresh.</param> - /// <param name="extractImages">Option to extract images.</param> - /// <param name="saveChapters">Option to save chapters.</param> - /// <param name="cancellationToken">CancellationToken to use for operation.</param> - /// <returns><c>true</c> if successful, <c>false</c> if not.</returns> - Task<bool> RefreshChapterImages(Video video, IDirectoryService directoryService, IReadOnlyList<ChapterInfo> chapters, bool extractImages, bool saveChapters, CancellationToken cancellationToken); - } -} diff --git a/MediaBrowser.Controller/Chapters/IChapterRepository.cs b/MediaBrowser.Controller/Persistence/IChapterRepository.cs index e22cb0f58..0844ddb36 100644 --- a/MediaBrowser.Controller/Chapters/IChapterRepository.cs +++ b/MediaBrowser.Controller/Persistence/IChapterRepository.cs @@ -1,36 +1,26 @@ using System; using System.Collections.Generic; -using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; -namespace MediaBrowser.Controller.Chapters; +namespace MediaBrowser.Controller.Persistence; /// <summary> -/// Interface IChapterManager. +/// Interface IChapterRepository. /// </summary> public interface IChapterRepository { /// <summary> - /// Saves the chapters. + /// Deletes the chapters. /// </summary> /// <param name="itemId">The item.</param> - /// <param name="chapters">The set of chapters.</param> - void SaveChapters(Guid itemId, IReadOnlyList<ChapterInfo> chapters); - - /// <summary> - /// Gets all chapters associated with the baseItem. - /// </summary> - /// <param name="baseItem">The baseitem.</param> - /// <returns>A readonly list of chapter instances.</returns> - IReadOnlyList<ChapterInfo> GetChapters(BaseItemDto baseItem); + void DeleteChapters(Guid itemId); /// <summary> - /// Gets a single chapter of a BaseItem on a specific index. + /// Saves the chapters. /// </summary> - /// <param name="baseItem">The baseitem.</param> - /// <param name="index">The index of that chapter.</param> - /// <returns>A chapter instance.</returns> - ChapterInfo? GetChapter(BaseItemDto baseItem, int index); + /// <param name="itemId">The item.</param> + /// <param name="chapters">The set of chapters.</param> + void SaveChapters(Guid itemId, IReadOnlyList<ChapterInfo> chapters); /// <summary> /// Gets all chapters associated with the baseItem. |
