diff options
Diffstat (limited to 'MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs index dc750fb6b..4768b9632 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs @@ -1,26 +1,34 @@ using System; -using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Threading; namespace MediaBrowser.MediaEncoding.Subtitles { public class VttWriter : ISubtitleWriter { - public void Write(SubtitleTrackInfo info, Stream stream) { - using (var writer = new StreamWriter(stream)) + public void Write(SubtitleTrackInfo info, Stream stream, CancellationToken cancellationToken) + { + var writer = new StreamWriter(stream); + + try { writer.WriteLine("WEBVTT"); writer.WriteLine(string.Empty); foreach (var trackEvent in info.TrackEvents) { + cancellationToken.ThrowIfCancellationRequested(); + writer.WriteLine(@"{0:hh\:mm\:ss\.fff} --> {1:hh\:mm\:ss\.fff}", TimeSpan.FromTicks(trackEvent.StartPositionTicks), TimeSpan.FromTicks(trackEvent.EndPositionTicks)); writer.WriteLine(trackEvent.Text); writer.WriteLine(string.Empty); } } + catch + { + writer.Dispose(); + + throw; + } } } } |
