update isavc condition

This commit is contained in:
Luke Pulverenti 2016-11-14 02:28:20 -05:00
parent 68d2add6d2
commit 43c6971383
4 changed files with 29 additions and 1 deletions

View File

@ -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;

View File

@ -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()
{ {

View File

@ -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;
} }
} }
} }

View File

@ -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;
} }