aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs')
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs13
1 files changed, 11 insertions, 2 deletions
diff --git a/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs
index 09f45aa61..fa53e4d13 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs
@@ -18,12 +18,21 @@ namespace MediaBrowser.MediaEncoding.Subtitles
{
cancellationToken.ThrowIfCancellationRequested();
- writer.WriteLine(@"{0:hh\:mm\:ss\.fff} --> {1:hh\:mm\:ss\.fff}", TimeSpan.FromTicks(trackEvent.StartPositionTicks), TimeSpan.FromTicks(trackEvent.EndPositionTicks));
+ TimeSpan startTime = TimeSpan.FromTicks(trackEvent.StartPositionTicks);
+ TimeSpan endTime = TimeSpan.FromTicks(trackEvent.EndPositionTicks);
+
+ // make sure the start and end times are different and seqential
+ if (endTime.TotalMilliseconds <= startTime.TotalMilliseconds)
+ {
+ endTime = startTime.Add(TimeSpan.FromMilliseconds(1));
+ }
+
+ writer.WriteLine(@"{0:hh\:mm\:ss\.fff} --> {1:hh\:mm\:ss\.fff}", startTime, endTime);
var text = trackEvent.Text;
// TODO: Not sure how to handle these
- text = Regex.Replace(text, @"\\N", " ", RegexOptions.IgnoreCase);
+ text = Regex.Replace(text, @"\\n", " ", RegexOptions.IgnoreCase);
writer.WriteLine(text);
writer.WriteLine(string.Empty);