@ -24,7 +24,7 @@ namespace MediaBrowser.Providers.MediaInfo
}
public async Task < List < string > > DownloadSubtitles ( Video video ,
List < MediaStream > internal Subtitle Streams,
List < MediaStream > internal Media Streams,
List < MediaStream > externalSubtitleStreams ,
bool forceExternal ,
IEnumerable < string > languages ,
@ -58,7 +58,7 @@ namespace MediaBrowser.Providers.MediaInfo
{
try
{
var downloaded = await DownloadSubtitles ( video , internal Subtitle Streams, externalSubtitleStreams , forceExternal , lang , mediaType , cancellationToken )
var downloaded = await DownloadSubtitles ( video , internal Media Streams, externalSubtitleStreams , forceExternal , lang , mediaType , cancellationToken )
. ConfigureAwait ( false ) ;
if ( downloaded )
@ -76,7 +76,7 @@ namespace MediaBrowser.Providers.MediaInfo
}
private async Task < bool > DownloadSubtitles ( Video video ,
IEnumerable< MediaStream > internalSubtitle Streams,
List< MediaStream > internalMedia Streams,
IEnumerable < MediaStream > externalSubtitleStreams ,
bool forceExternal ,
string language ,
@ -89,8 +89,12 @@ namespace MediaBrowser.Providers.MediaInfo
return false ;
}
var internalAudioStreams = internalMediaStreams . Where ( i = > i . Type = = MediaStreamType . Audio )
. ToList ( ) ;
// There's an internal subtitle stream for this language
if ( ! forceExternal & & internalSubtitleStreams . Any ( i = > string . Equals ( i . Language , language , StringComparison . OrdinalIgnoreCase ) ) )
if ( ! forceExternal & &
internalMediaStreams . Any ( i = > i . Type = = MediaStreamType . Subtitle & & string . Equals ( i . Language , language , StringComparison . OrdinalIgnoreCase ) ) )
{
return false ;
}