mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Fix StreamInfo.ToUrl (#13808)
This commit is contained in:
parent
90a6cca92b
commit
824bafc32d
@ -956,12 +956,10 @@ public class StreamInfo
|
|||||||
sb.Append(AudioStreamIndex.Value.ToString(CultureInfo.InvariantCulture));
|
sb.Append(AudioStreamIndex.Value.ToString(CultureInfo.InvariantCulture));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SubtitleStreamIndex.HasValue && SubtitleDeliveryMethod != SubtitleDeliveryMethod.External && SubtitleStreamIndex != -1)
|
if (SubtitleStreamIndex.HasValue && (AlwaysBurnInSubtitleWhenTranscoding || SubtitleDeliveryMethod != SubtitleDeliveryMethod.External) && SubtitleStreamIndex != -1)
|
||||||
{
|
{
|
||||||
sb.Append("&SubtitleStreamIndex=");
|
sb.Append("&SubtitleStreamIndex=");
|
||||||
sb.Append(SubtitleStreamIndex.Value.ToString(CultureInfo.InvariantCulture));
|
sb.Append(SubtitleStreamIndex.Value.ToString(CultureInfo.InvariantCulture));
|
||||||
sb.Append("&SubtitleMethod=");
|
|
||||||
sb.Append(SubtitleDeliveryMethod.ToString());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (VideoBitrate.HasValue)
|
if (VideoBitrate.HasValue)
|
||||||
@ -1095,17 +1093,11 @@ public class StreamInfo
|
|||||||
sb.Append(CopyTimestamps.ToString(CultureInfo.InvariantCulture));
|
sb.Append(CopyTimestamps.ToString(CultureInfo.InvariantCulture));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (RequireAvc)
|
sb.Append("&RequireAvc=");
|
||||||
{
|
sb.Append(RequireAvc.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
|
||||||
sb.Append("&RequireAvc=");
|
|
||||||
sb.Append(RequireAvc.ToString(CultureInfo.InvariantCulture));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (EnableAudioVbrEncoding)
|
sb.Append("&EnableAudioVbrEncoding=");
|
||||||
{
|
sb.Append(EnableAudioVbrEncoding.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
|
||||||
sb.Append("EnableAudioVbrEncoding=");
|
|
||||||
sb.Append(EnableAudioVbrEncoding.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var etag = MediaSource?.ETag;
|
var etag = MediaSource?.ETag;
|
||||||
@ -1118,7 +1110,7 @@ public class StreamInfo
|
|||||||
if (SubtitleStreamIndex.HasValue && SubtitleDeliveryMethod != SubtitleDeliveryMethod.External)
|
if (SubtitleStreamIndex.HasValue && SubtitleDeliveryMethod != SubtitleDeliveryMethod.External)
|
||||||
{
|
{
|
||||||
sb.Append("&SubtitleMethod=");
|
sb.Append("&SubtitleMethod=");
|
||||||
sb.AppendJoin(',', SubtitleDeliveryMethod);
|
sb.Append(SubtitleDeliveryMethod);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SubtitleStreamIndex.HasValue && SubtitleDeliveryMethod == SubtitleDeliveryMethod.Embed && SubtitleCodecs.Count != 0)
|
if (SubtitleStreamIndex.HasValue && SubtitleDeliveryMethod == SubtitleDeliveryMethod.Embed && SubtitleCodecs.Count != 0)
|
||||||
|
@ -92,7 +92,7 @@ public class LegacyStreamInfo : StreamInfo
|
|||||||
|
|
||||||
private static List<NameValuePair> BuildParams(StreamInfo item, string? accessToken)
|
private static List<NameValuePair> BuildParams(StreamInfo item, string? accessToken)
|
||||||
{
|
{
|
||||||
var list = new List<NameValuePair>();
|
List<NameValuePair> list = [];
|
||||||
|
|
||||||
string audioCodecs = item.AudioCodecs.Count == 0 ?
|
string audioCodecs = item.AudioCodecs.Count == 0 ?
|
||||||
string.Empty :
|
string.Empty :
|
||||||
@ -109,7 +109,7 @@ public class LegacyStreamInfo : StreamInfo
|
|||||||
list.Add(new NameValuePair("VideoCodec", videoCodecs));
|
list.Add(new NameValuePair("VideoCodec", videoCodecs));
|
||||||
list.Add(new NameValuePair("AudioCodec", audioCodecs));
|
list.Add(new NameValuePair("AudioCodec", audioCodecs));
|
||||||
list.Add(new NameValuePair("AudioStreamIndex", item.AudioStreamIndex.HasValue ? item.AudioStreamIndex.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
list.Add(new NameValuePair("AudioStreamIndex", item.AudioStreamIndex.HasValue ? item.AudioStreamIndex.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
||||||
list.Add(new NameValuePair("SubtitleStreamIndex", item.SubtitleStreamIndex.HasValue && item.SubtitleDeliveryMethod != SubtitleDeliveryMethod.External ? item.SubtitleStreamIndex.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
list.Add(new NameValuePair("SubtitleStreamIndex", item.SubtitleStreamIndex.HasValue && (item.AlwaysBurnInSubtitleWhenTranscoding || item.SubtitleDeliveryMethod != SubtitleDeliveryMethod.External) ? item.SubtitleStreamIndex.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
||||||
list.Add(new NameValuePair("VideoBitrate", item.VideoBitrate.HasValue ? item.VideoBitrate.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
list.Add(new NameValuePair("VideoBitrate", item.VideoBitrate.HasValue ? item.VideoBitrate.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
||||||
list.Add(new NameValuePair("AudioBitrate", item.AudioBitrate.HasValue ? item.AudioBitrate.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
list.Add(new NameValuePair("AudioBitrate", item.AudioBitrate.HasValue ? item.AudioBitrate.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
||||||
list.Add(new NameValuePair("AudioSampleRate", item.AudioSampleRate.HasValue ? item.AudioSampleRate.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
list.Add(new NameValuePair("AudioSampleRate", item.AudioSampleRate.HasValue ? item.AudioSampleRate.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
|
||||||
@ -182,25 +182,16 @@ public class LegacyStreamInfo : StreamInfo
|
|||||||
list.Add(new NameValuePair("CopyTimestamps", item.CopyTimestamps.ToString(CultureInfo.InvariantCulture).ToLowerInvariant()));
|
list.Add(new NameValuePair("CopyTimestamps", item.CopyTimestamps.ToString(CultureInfo.InvariantCulture).ToLowerInvariant()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.RequireAvc)
|
list.Add(new NameValuePair("RequireAvc", item.RequireAvc.ToString(CultureInfo.InvariantCulture).ToLowerInvariant()));
|
||||||
{
|
|
||||||
list.Add(new NameValuePair("RequireAvc", item.RequireAvc.ToString(CultureInfo.InvariantCulture).ToLowerInvariant()));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.EnableAudioVbrEncoding)
|
list.Add(new NameValuePair("EnableAudioVbrEncoding", item.EnableAudioVbrEncoding.ToString(CultureInfo.InvariantCulture).ToLowerInvariant()));
|
||||||
{
|
|
||||||
list.Add(new NameValuePair("EnableAudioVbrEncoding", item.EnableAudioVbrEncoding.ToString(CultureInfo.InvariantCulture).ToLowerInvariant()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
list.Add(new NameValuePair("Tag", item.MediaSource?.ETag ?? string.Empty));
|
list.Add(new NameValuePair("Tag", item.MediaSource?.ETag ?? string.Empty));
|
||||||
|
|
||||||
string subtitleCodecs = item.SubtitleCodecs.Count == 0 ?
|
string subtitleCodecs = item.SubtitleCodecs.Count == 0 ? string.Empty : string.Join(",", item.SubtitleCodecs);
|
||||||
string.Empty :
|
|
||||||
string.Join(",", item.SubtitleCodecs);
|
|
||||||
|
|
||||||
list.Add(new NameValuePair("SubtitleMethod", item.SubtitleStreamIndex.HasValue && item.SubtitleDeliveryMethod != SubtitleDeliveryMethod.External ? item.SubtitleDeliveryMethod.ToString() : string.Empty));
|
|
||||||
list.Add(new NameValuePair("SubtitleCodec", item.SubtitleStreamIndex.HasValue && item.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Embed ? subtitleCodecs : string.Empty));
|
list.Add(new NameValuePair("SubtitleCodec", item.SubtitleStreamIndex.HasValue && item.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Embed ? subtitleCodecs : string.Empty));
|
||||||
|
list.Add(new NameValuePair("SubtitleMethod", item.SubtitleStreamIndex.HasValue && item.SubtitleDeliveryMethod != SubtitleDeliveryMethod.External ? item.SubtitleDeliveryMethod.ToString() : string.Empty));
|
||||||
|
|
||||||
foreach (var pair in item.StreamOptions)
|
foreach (var pair in item.StreamOptions)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user