make chapter images a per-library setting

pull/702/head
Luke Pulverenti 8 years ago
parent 4cafe5c493
commit 2bdaba633c

@ -106,7 +106,7 @@ namespace MediaBrowser.Controller.Entities
{ {
LibraryOptions[path] = options; LibraryOptions[path] = options;
options.SchemaVersion = 1; options.SchemaVersion = 2;
XmlSerializer.SerializeToFile(options, GetLibraryOptionsPath(path)); XmlSerializer.SerializeToFile(options, GetLibraryOptionsPath(path));
} }
} }

@ -6,6 +6,8 @@
public bool EnablePhotos { get; set; } public bool EnablePhotos { get; set; }
public bool EnableRealtimeMonitor { get; set; } public bool EnableRealtimeMonitor { get; set; }
public int SchemaVersion { get; set; } public int SchemaVersion { get; set; }
public bool EnableChapterImageExtraction { get; set; }
public bool ExtractChapterImagesDuringLibraryScan { get; set; }
public LibraryOptions() public LibraryOptions()
{ {

@ -261,11 +261,18 @@ namespace MediaBrowser.Providers.MediaInfo
NormalizeChapterNames(chapters); NormalizeChapterNames(chapters);
var libraryOptions = _libraryManager.GetLibraryOptions(video);
var extractDuringScan = chapterOptions.ExtractDuringLibraryScan;
if (libraryOptions != null && libraryOptions.SchemaVersion >= 2)
{
extractDuringScan = libraryOptions.ExtractChapterImagesDuringLibraryScan;
}
await _encodingManager.RefreshChapterImages(new ChapterImageRefreshOptions await _encodingManager.RefreshChapterImages(new ChapterImageRefreshOptions
{ {
Chapters = chapters, Chapters = chapters,
Video = video, Video = video,
ExtractImages = chapterOptions.ExtractDuringLibraryScan, ExtractImages = extractDuringScan,
SaveChapters = false SaveChapters = false
}, cancellationToken).ConfigureAwait(false); }, cancellationToken).ConfigureAwait(false);

@ -14,6 +14,7 @@ using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using CommonIO; using CommonIO;
using MediaBrowser.Controller.Library;
namespace MediaBrowser.Server.Implementations.MediaEncoder namespace MediaBrowser.Server.Implementations.MediaEncoder
{ {
@ -24,6 +25,7 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly IMediaEncoder _encoder; private readonly IMediaEncoder _encoder;
private readonly IChapterManager _chapterManager; private readonly IChapterManager _chapterManager;
private readonly ILibraryManager _libraryManager;
public EncodingManager(IFileSystem fileSystem, public EncodingManager(IFileSystem fileSystem,
ILogger logger, ILogger logger,
@ -57,6 +59,16 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder
return false; return false;
} }
var libraryOptions = _libraryManager.GetLibraryOptions(video);
if (libraryOptions != null && libraryOptions.SchemaVersion >= 2)
{
if (!libraryOptions.EnableChapterImageExtraction)
{
return false;
}
}
else
{
var options = _chapterManager.GetConfiguration(); var options = _chapterManager.GetConfiguration();
if (video is Movie) if (video is Movie)
@ -80,6 +92,7 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder
return false; return false;
} }
} }
}
// Can't extract images if there are no video streams // Can't extract images if there are no video streams
return video.DefaultVideoStreamIndex.HasValue; return video.DefaultVideoStreamIndex.HasValue;

Loading…
Cancel
Save