aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs')
-rw-r--r--MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs13
1 files changed, 8 insertions, 5 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs b/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
index a20dc4d29..3e11fd85e 100644
--- a/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
+++ b/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
@@ -26,7 +26,8 @@ namespace MediaBrowser.Providers.MediaInfo
public async Task<List<string>> DownloadSubtitles(Video video,
List<MediaStream> internalMediaStreams,
List<MediaStream> externalSubtitleStreams,
- bool forceExternal,
+ bool skipIfGraphicalSubtitlesPresent,
+ bool skipIfAudioTrackMatches,
IEnumerable<string> languages,
CancellationToken cancellationToken)
{
@@ -58,7 +59,7 @@ namespace MediaBrowser.Providers.MediaInfo
{
try
{
- var downloaded = await DownloadSubtitles(video, internalMediaStreams, externalSubtitleStreams, forceExternal, lang, mediaType, cancellationToken)
+ var downloaded = await DownloadSubtitles(video, internalMediaStreams, externalSubtitleStreams, skipIfGraphicalSubtitlesPresent, skipIfAudioTrackMatches, lang, mediaType, cancellationToken)
.ConfigureAwait(false);
if (downloaded)
@@ -78,7 +79,8 @@ namespace MediaBrowser.Providers.MediaInfo
private async Task<bool> DownloadSubtitles(Video video,
List<MediaStream> internalMediaStreams,
IEnumerable<MediaStream> externalSubtitleStreams,
- bool forceExternal,
+ bool skipIfGraphicalSubtitlesPresent,
+ bool skipIfAudioTrackMatches,
string language,
SubtitleMediaType mediaType,
CancellationToken cancellationToken)
@@ -90,13 +92,14 @@ namespace MediaBrowser.Providers.MediaInfo
}
// There's already an audio stream for this language
- if (internalMediaStreams.Any(i => i.Type == MediaStreamType.Audio && string.Equals(i.Language, language, StringComparison.OrdinalIgnoreCase)))
+ if (skipIfAudioTrackMatches &&
+ internalMediaStreams.Any(i => i.Type == MediaStreamType.Audio && string.Equals(i.Language, language, StringComparison.OrdinalIgnoreCase)))
{
return false;
}
// There's an internal subtitle stream for this language
- if (!forceExternal &&
+ if (skipIfGraphicalSubtitlesPresent &&
internalMediaStreams.Any(i => i.Type == MediaStreamType.Subtitle && string.Equals(i.Language, language, StringComparison.OrdinalIgnoreCase)))
{
return false;