瀏覽代碼

Merge pull request #905 from faush01/master

make sure start and end times are different
Luke 10 年之前
父節點
當前提交
1e2e51d35b
共有 1 個文件被更改,包括 10 次插入1 次删除
  1. 10 1
      MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs

+ 10 - 1
MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs

@@ -18,7 +18,16 @@ 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;