adjust params when burning in subtitles

This commit is contained in:
Luke Pulverenti 2017-10-01 20:13:12 -04:00
parent 8d4373af5e
commit a452bc23b2
2 changed files with 13 additions and 4 deletions

View File

@ -530,7 +530,8 @@ namespace MediaBrowser.Controller.MediaEncoding
{
var seconds = Math.Round(TimeSpan.FromTicks(state.StartTimeTicks ?? 0).TotalSeconds);
var setPtsParam = state.CopyTimestamps
// hls always copies timestamps
var setPtsParam = state.CopyTimestamps || state.TranscodingType != TranscodingJobType.Progressive
? string.Empty
: string.Format(",setpts=PTS -{0}/TB", seconds.ToString(_usCulture));
@ -1083,7 +1084,8 @@ namespace MediaBrowser.Controller.MediaEncoding
}
}
if (state.SubtitleStream != null && state.SubtitleStream.IsTextSubtitleStream && state.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Encode && !state.CopyTimestamps)
var isCopyingTimestamps = state.CopyTimestamps || state.TranscodingType != TranscodingJobType.Progressive;
if (state.SubtitleStream != null && state.SubtitleStream.IsTextSubtitleStream && state.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Encode && !isCopyingTimestamps)
{
var seconds = TimeSpan.FromTicks(state.StartTimeTicks ?? 0).TotalSeconds;

View File

@ -163,6 +163,14 @@ namespace MediaBrowser.Controller.MediaEncoding
public bool DeInterlace(string videoCodec, bool forceDeinterlaceIfSourceIsInterlaced)
{
var videoStream = VideoStream;
var isInputInterlaced = videoStream != null && videoStream.IsInterlaced;
if (!isInputInterlaced)
{
return false;
}
// Support general param
if (BaseRequest.DeInterlace)
{
@ -179,8 +187,7 @@ namespace MediaBrowser.Controller.MediaEncoding
if (forceDeinterlaceIfSourceIsInterlaced)
{
var videoStream = VideoStream;
if (videoStream != null && videoStream.IsInterlaced)
if (isInputInterlaced)
{
return true;
}