aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-04-30 16:03:28 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-04-30 16:03:28 -0400
commit7ee588060da18d30dbec189285d91568007f129c (patch)
tree06d8fbf62bcfefbd50483dc9debd189be4b021be /MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
parent7ef16a449ae044306227da00a83f5abe062fb893 (diff)
add IgnoreDts option
Diffstat (limited to 'MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs')
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs22
1 files changed, 16 insertions, 6 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
index 8821b6f1f..8cacfd3aa 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
@@ -1517,12 +1517,6 @@ namespace MediaBrowser.Controller.MediaEncoding
inputModifier += " " + GetFastSeekCommandLineParameter(state.BaseRequest);
inputModifier = inputModifier.Trim();
- //inputModifier += " -fflags +genpts+ignidx+igndts";
- //if (state.IsVideoRequest && genPts)
- //{
- // inputModifier += " -fflags +genpts";
- //}
-
if (!string.IsNullOrEmpty(state.InputAudioSync))
{
inputModifier += " -async " + state.InputAudioSync;
@@ -1538,6 +1532,21 @@ namespace MediaBrowser.Controller.MediaEncoding
inputModifier += " -re";
}
+ var flags = new List<string>();
+ if (state.IgnoreDts)
+ {
+ flags.Add("+igndts");
+ }
+ if (state.IgnoreIndex)
+ {
+ flags.Add("+ignidx");
+ }
+
+ if (flags.Count > 0)
+ {
+ inputModifier += " -fflags " + string.Join("", flags.ToArray());
+ }
+
var videoDecoder = GetVideoDecoder(state, encodingOptions);
if (!string.IsNullOrWhiteSpace(videoDecoder))
{
@@ -1633,6 +1642,7 @@ namespace MediaBrowser.Controller.MediaEncoding
state.RunTimeTicks = mediaSource.RunTimeTicks;
state.RemoteHttpHeaders = mediaSource.RequiredHttpHeaders;
state.ReadInputAtNativeFramerate = mediaSource.ReadAtNativeFramerate;
+ state.IgnoreDts = mediaSource.IgnoreDts;
if (state.ReadInputAtNativeFramerate ||
mediaSource.Protocol == MediaProtocol.File && string.Equals(mediaSource.Container, "wtv", StringComparison.OrdinalIgnoreCase))