mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
update StreamBuilder
This commit is contained in:
parent
9db6f610c6
commit
b604683583
@ -725,7 +725,7 @@ namespace MediaBrowser.Model.Dlna
|
|||||||
|
|
||||||
public static SubtitleProfile GetSubtitleProfile(MediaStream subtitleStream, SubtitleProfile[] subtitleProfiles, EncodingContext context, PlayMethod playMethod)
|
public static SubtitleProfile GetSubtitleProfile(MediaStream subtitleStream, SubtitleProfile[] subtitleProfiles, EncodingContext context, PlayMethod playMethod)
|
||||||
{
|
{
|
||||||
if (playMethod != PlayMethod.Transcode)
|
if (playMethod != PlayMethod.Transcode && !subtitleStream.IsExternal)
|
||||||
{
|
{
|
||||||
// Look for supported embedded subs
|
// Look for supported embedded subs
|
||||||
foreach (SubtitleProfile profile in subtitleProfiles)
|
foreach (SubtitleProfile profile in subtitleProfiles)
|
||||||
@ -750,23 +750,26 @@ namespace MediaBrowser.Model.Dlna
|
|||||||
// Look for an external profile that matches the stream type (text/graphical)
|
// Look for an external profile that matches the stream type (text/graphical)
|
||||||
foreach (SubtitleProfile profile in subtitleProfiles)
|
foreach (SubtitleProfile profile in subtitleProfiles)
|
||||||
{
|
{
|
||||||
bool requiresConversion = !StringHelper.EqualsIgnoreCase(subtitleStream.Codec, profile.Format);
|
if (profile.Method != SubtitleDeliveryMethod.External)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (!profile.SupportsLanguage(subtitleStream.Language))
|
if (!profile.SupportsLanguage(subtitleStream.Language))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (profile.Method == SubtitleDeliveryMethod.External && subtitleStream.IsTextSubtitleStream == MediaStream.IsTextFormat(profile.Format))
|
if (subtitleStream.IsTextSubtitleStream == MediaStream.IsTextFormat(profile.Format))
|
||||||
{
|
{
|
||||||
if (!requiresConversion)
|
bool requiresConversion = !StringHelper.EqualsIgnoreCase(subtitleStream.Codec, profile.Format);
|
||||||
{
|
|
||||||
return profile;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (subtitleStream.SupportsExternalStream)
|
if (subtitleStream.IsTextSubtitleStream || !requiresConversion)
|
||||||
{
|
{
|
||||||
return profile;
|
if (subtitleStream.SupportsExternalStream)
|
||||||
|
{
|
||||||
|
return profile;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// For sync we can handle the longer extraction times
|
// For sync we can handle the longer extraction times
|
||||||
|
Loading…
x
Reference in New Issue
Block a user