DvdLib: remove dependency on MediaBrowser.Model

This commit is contained in:
Bond_009
2020-04-11 12:29:04 +02:00
parent 299541f1b2
commit d8a7462205
7 changed files with 34 additions and 53 deletions

View File

@@ -46,7 +46,6 @@ namespace MediaBrowser.Providers.MediaInfo
private readonly IApplicationPaths _appPaths;
private readonly IJsonSerializer _json;
private readonly IEncodingManager _encodingManager;
private readonly IFileSystem _fileSystem;
private readonly IServerConfigurationManager _config;
private readonly ISubtitleManager _subtitleManager;
private readonly IChapterManager _chapterManager;
@@ -134,7 +133,6 @@ namespace MediaBrowser.Providers.MediaInfo
IApplicationPaths appPaths,
IJsonSerializer json,
IEncodingManager encodingManager,
IFileSystem fileSystem,
IServerConfigurationManager config,
ISubtitleManager subtitleManager,
IChapterManager chapterManager,
@@ -149,7 +147,6 @@ namespace MediaBrowser.Providers.MediaInfo
_appPaths = appPaths;
_json = json;
_encodingManager = encodingManager;
_fileSystem = fileSystem;
_config = config;
_subtitleManager = subtitleManager;
_chapterManager = chapterManager;
@@ -157,7 +154,7 @@ namespace MediaBrowser.Providers.MediaInfo
_channelManager = channelManager;
_mediaSourceManager = mediaSourceManager;
_subtitleResolver = new SubtitleResolver(BaseItem.LocalizationManager, fileSystem);
_subtitleResolver = new SubtitleResolver(BaseItem.LocalizationManager);
}
private readonly Task<ItemUpdateType> _cachedTask = Task.FromResult(ItemUpdateType.None);
@@ -202,7 +199,6 @@ namespace MediaBrowser.Providers.MediaInfo
_blurayExaminer,
_localization,
_encodingManager,
_fileSystem,
_config,
_subtitleManager,
_chapterManager,

View File

@@ -39,7 +39,6 @@ namespace MediaBrowser.Providers.MediaInfo
private readonly IBlurayExaminer _blurayExaminer;
private readonly ILocalizationManager _localization;
private readonly IEncodingManager _encodingManager;
private readonly IFileSystem _fileSystem;
private readonly IServerConfigurationManager _config;
private readonly ISubtitleManager _subtitleManager;
private readonly IChapterManager _chapterManager;
@@ -56,7 +55,6 @@ namespace MediaBrowser.Providers.MediaInfo
IBlurayExaminer blurayExaminer,
ILocalizationManager localization,
IEncodingManager encodingManager,
IFileSystem fileSystem,
IServerConfigurationManager config,
ISubtitleManager subtitleManager,
IChapterManager chapterManager,
@@ -68,7 +66,6 @@ namespace MediaBrowser.Providers.MediaInfo
_blurayExaminer = blurayExaminer;
_localization = localization;
_encodingManager = encodingManager;
_fileSystem = fileSystem;
_config = config;
_subtitleManager = subtitleManager;
_chapterManager = chapterManager;
@@ -76,7 +73,8 @@ namespace MediaBrowser.Providers.MediaInfo
_mediaSourceManager = mediaSourceManager;
}
public async Task<ItemUpdateType> ProbeVideo<T>(T item,
public async Task<ItemUpdateType> ProbeVideo<T>(
T item,
MetadataRefreshOptions options,
CancellationToken cancellationToken)
where T : Video
@@ -99,7 +97,6 @@ namespace MediaBrowser.Providers.MediaInfo
return ItemUpdateType.MetadataImport;
}
}
else if (item.VideoType == VideoType.BluRay)
{
var inputPath = item.Path;
@@ -130,7 +127,8 @@ namespace MediaBrowser.Providers.MediaInfo
return ItemUpdateType.MetadataImport;
}
private Task<Model.MediaInfo.MediaInfo> GetMediaInfo(Video item,
private Task<Model.MediaInfo.MediaInfo> GetMediaInfo(
Video item,
string[] streamFileNames,
CancellationToken cancellationToken)
{
@@ -145,22 +143,24 @@ namespace MediaBrowser.Providers.MediaInfo
protocol = _mediaSourceManager.GetPathProtocol(path);
}
return _mediaEncoder.GetMediaInfo(new MediaInfoRequest
{
PlayableStreamFileNames = streamFileNames,
ExtractChapters = true,
MediaType = DlnaProfileType.Video,
MediaSource = new MediaSourceInfo
return _mediaEncoder.GetMediaInfo(
new MediaInfoRequest
{
Path = path,
Protocol = protocol,
VideoType = item.VideoType
}
}, cancellationToken);
PlayableStreamFileNames = streamFileNames,
ExtractChapters = true,
MediaType = DlnaProfileType.Video,
MediaSource = new MediaSourceInfo
{
Path = path,
Protocol = protocol,
VideoType = item.VideoType
}
},
cancellationToken);
}
protected async Task Fetch(Video video,
protected async Task Fetch(
Video video,
CancellationToken cancellationToken,
Model.MediaInfo.MediaInfo mediaInfo,
BlurayDiscInfo blurayInfo,
@@ -491,12 +491,13 @@ namespace MediaBrowser.Providers.MediaInfo
/// <param name="options">The refreshOptions.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
private async Task AddExternalSubtitles(Video video,
private async Task AddExternalSubtitles(
Video video,
List<MediaStream> currentStreams,
MetadataRefreshOptions options,
CancellationToken cancellationToken)
{
var subtitleResolver = new SubtitleResolver(_localization, _fileSystem);
var subtitleResolver = new SubtitleResolver(_localization);
var startIndex = currentStreams.Count == 0 ? 0 : (currentStreams.Select(i => i.Index).Max() + 1);
var externalSubtitleStreams = subtitleResolver.GetExternalSubtitleStreams(video, startIndex, options.DirectoryService, false);
@@ -605,7 +606,7 @@ namespace MediaBrowser.Providers.MediaInfo
private string[] FetchFromDvdLib(Video item)
{
var path = item.Path;
var dvd = new Dvd(path, _fileSystem);
var dvd = new Dvd(path);
var primaryTitle = dvd.Titles.OrderByDescending(GetRuntime).FirstOrDefault();

View File

@@ -13,7 +13,6 @@ namespace MediaBrowser.Providers.MediaInfo
public class SubtitleResolver
{
private readonly ILocalizationManager _localization;
private readonly IFileSystem _fileSystem;
private static readonly HashSet<string> SubtitleExtensions = new HashSet<string>(StringComparer.OrdinalIgnoreCase)
{
@@ -26,13 +25,13 @@ namespace MediaBrowser.Providers.MediaInfo
".vtt"
};
public SubtitleResolver(ILocalizationManager localization, IFileSystem fileSystem)
public SubtitleResolver(ILocalizationManager localization)
{
_localization = localization;
_fileSystem = fileSystem;
}
public List<MediaStream> GetExternalSubtitleStreams(Video video,
public List<MediaStream> GetExternalSubtitleStreams(
Video video,
int startIndex,
IDirectoryService directoryService,
bool clearCache)