Fix subtitle converter misinterpreting 0 valued endTimeTicks

pull/1154/head
Claus Vium 6 years ago
parent 3a5e3ade01
commit 26e20d1cd5

@ -66,7 +66,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
string inputFormat, string inputFormat,
string outputFormat, string outputFormat,
long startTimeTicks, long startTimeTicks,
long? endTimeTicks, long endTimeTicks,
bool preserveOriginalTimestamps, bool preserveOriginalTimestamps,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
@ -94,16 +94,16 @@ namespace MediaBrowser.MediaEncoding.Subtitles
return ms; return ms;
} }
private void FilterEvents(SubtitleTrackInfo track, long startPositionTicks, long? endTimeTicks, bool preserveTimestamps) private void FilterEvents(SubtitleTrackInfo track, long startPositionTicks, long endTimeTicks, bool preserveTimestamps)
{ {
// Drop subs that are earlier than what we're looking for // Drop subs that are earlier than what we're looking for
track.TrackEvents = track.TrackEvents track.TrackEvents = track.TrackEvents
.SkipWhile(i => (i.StartPositionTicks - startPositionTicks) < 0 || (i.EndPositionTicks - startPositionTicks) < 0) .SkipWhile(i => (i.StartPositionTicks - startPositionTicks) < 0 || (i.EndPositionTicks - startPositionTicks) < 0)
.ToArray(); .ToArray();
if (endTimeTicks.HasValue) if (endTimeTicks > 0)
{ {
long endTime = endTimeTicks.Value; long endTime = endTimeTicks;
track.TrackEvents = track.TrackEvents track.TrackEvents = track.TrackEvents
.TakeWhile(i => i.StartPositionTicks <= endTime) .TakeWhile(i => i.StartPositionTicks <= endTime)

Loading…
Cancel
Save