mirror of https://github.com/jellyfin/jellyfin.git
update isavc condition
This commit is contained in:
parent
68d2add6d2
commit
43c6971383
|
@ -1759,6 +1759,13 @@ namespace MediaBrowser.Api.Playback
|
||||||
videoRequest.EnableSplittingOnNonKeyFrames = string.Equals("true", val, StringComparison.OrdinalIgnoreCase);
|
videoRequest.EnableSplittingOnNonKeyFrames = string.Equals("true", val, StringComparison.OrdinalIgnoreCase);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (i == 30)
|
||||||
|
{
|
||||||
|
if (videoRequest != null)
|
||||||
|
{
|
||||||
|
videoRequest.RequireAvc = string.Equals("true", val, StringComparison.OrdinalIgnoreCase);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2115,7 +2122,7 @@ namespace MediaBrowser.Api.Playback
|
||||||
|
|
||||||
if (string.Equals("h264", videoStream.Codec, StringComparison.OrdinalIgnoreCase))
|
if (string.Equals("h264", videoStream.Codec, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
if (videoStream.IsAVC.HasValue && !videoStream.IsAVC.Value)
|
if (videoStream.IsAVC.HasValue && !videoStream.IsAVC.Value && request.RequireAvc)
|
||||||
{
|
{
|
||||||
Logger.Debug("Cannot stream copy video. Stream is marked as not AVC");
|
Logger.Debug("Cannot stream copy video. Stream is marked as not AVC");
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -195,6 +195,7 @@ namespace MediaBrowser.Api.Playback
|
||||||
|
|
||||||
public bool EnableSubtitlesInManifest { get; set; }
|
public bool EnableSubtitlesInManifest { get; set; }
|
||||||
public bool EnableSplittingOnNonKeyFrames { get; set; }
|
public bool EnableSplittingOnNonKeyFrames { get; set; }
|
||||||
|
public bool RequireAvc { get; set; }
|
||||||
|
|
||||||
public VideoStreamRequest()
|
public VideoStreamRequest()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1055,6 +1055,22 @@ namespace MediaBrowser.Model.Dlna
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case ProfileConditionValue.IsAvc:
|
||||||
|
{
|
||||||
|
bool isAvc;
|
||||||
|
if (bool.TryParse(value, out isAvc))
|
||||||
|
{
|
||||||
|
if (isAvc && condition.Condition == ProfileConditionType.Equals)
|
||||||
|
{
|
||||||
|
item.RequireAvc = true;
|
||||||
|
}
|
||||||
|
else if (!isAvc && condition.Condition == ProfileConditionType.NotEquals)
|
||||||
|
{
|
||||||
|
item.RequireAvc = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ProfileConditionValue.IsAnamorphic:
|
case ProfileConditionValue.IsAnamorphic:
|
||||||
case ProfileConditionValue.AudioProfile:
|
case ProfileConditionValue.AudioProfile:
|
||||||
case ProfileConditionValue.Has64BitOffsets:
|
case ProfileConditionValue.Has64BitOffsets:
|
||||||
|
@ -1135,6 +1151,8 @@ namespace MediaBrowser.Model.Dlna
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ namespace MediaBrowser.Model.Dlna
|
||||||
public string VideoCodec { get; set; }
|
public string VideoCodec { get; set; }
|
||||||
public string VideoProfile { get; set; }
|
public string VideoProfile { get; set; }
|
||||||
|
|
||||||
|
public bool RequireAvc { get; set; }
|
||||||
public bool CopyTimestamps { get; set; }
|
public bool CopyTimestamps { get; set; }
|
||||||
public bool EnableSubtitlesInManifest { get; set; }
|
public bool EnableSubtitlesInManifest { get; set; }
|
||||||
public bool EnableSplittingOnNonKeyFrames { get; set; }
|
public bool EnableSplittingOnNonKeyFrames { get; set; }
|
||||||
|
@ -266,6 +267,7 @@ namespace MediaBrowser.Model.Dlna
|
||||||
|
|
||||||
list.Add(new NameValuePair("Tag", item.MediaSource.ETag ?? string.Empty));
|
list.Add(new NameValuePair("Tag", item.MediaSource.ETag ?? string.Empty));
|
||||||
list.Add(new NameValuePair("EnableSplittingOnNonKeyFrames", item.EnableSplittingOnNonKeyFrames.ToString().ToLower()));
|
list.Add(new NameValuePair("EnableSplittingOnNonKeyFrames", item.EnableSplittingOnNonKeyFrames.ToString().ToLower()));
|
||||||
|
list.Add(new NameValuePair("RequireAvc", item.RequireAvc.ToString().ToLower()));
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue