Skip to content

Commit

Permalink
Merge pull request #629 from cvium/fix_subtitleencoder
Browse files Browse the repository at this point in the history
Fix subtitle converter misinterpreting 0 valued endTimeTicks
  • Loading branch information
nvllsvm committed Jan 20, 2019
2 parents 8194c5c + b8b58d0 commit b4c170a
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
Expand Up @@ -62,7 +62,7 @@ public class SubtitleEncoder : ISubtitleEncoder
string inputFormat,
string outputFormat,
long startTimeTicks,
long? endTimeTicks,
long endTimeTicks,
bool preserveOriginalTimestamps,
CancellationToken cancellationToken)
{
Expand Down Expand Up @@ -90,19 +90,17 @@ public class SubtitleEncoder : ISubtitleEncoder
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
track.TrackEvents = track.TrackEvents
.SkipWhile(i => (i.StartPositionTicks - startPositionTicks) < 0 || (i.EndPositionTicks - startPositionTicks) < 0)
.ToArray();

if (endTimeTicks.HasValue)
if (endTimeTicks > 0)
{
long endTime = endTimeTicks.Value;

track.TrackEvents = track.TrackEvents
.TakeWhile(i => i.StartPositionTicks <= endTime)
.TakeWhile(i => i.StartPositionTicks <= endTimeTicks)
.ToArray();
}

Expand Down

0 comments on commit b4c170a

Please sign in to comment.