| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- using System.IO;
 
- using System.Text.Json;
 
- using System.Threading;
 
- using MediaBrowser.Model.MediaInfo;
 
- namespace MediaBrowser.MediaEncoding.Subtitles
 
- {
 
-     /// <summary>
 
-     /// JSON subtitle writer.
 
-     /// </summary>
 
-     public class JsonWriter : ISubtitleWriter
 
-     {
 
-         /// <inheritdoc />
 
-         public void Write(SubtitleTrackInfo info, Stream stream, CancellationToken cancellationToken)
 
-         {
 
-             using (var writer = new Utf8JsonWriter(stream))
 
-             {
 
-                 var trackevents = info.TrackEvents;
 
-                 writer.WriteStartObject();
 
-                 writer.WriteStartArray("TrackEvents");
 
-                 for (int i = 0; i < trackevents.Count; i++)
 
-                 {
 
-                     cancellationToken.ThrowIfCancellationRequested();
 
-                     var current = trackevents[i];
 
-                     writer.WriteStartObject();
 
-                     writer.WriteString("Id", current.Id);
 
-                     writer.WriteString("Text", current.Text);
 
-                     writer.WriteNumber("StartPositionTicks", current.StartPositionTicks);
 
-                     writer.WriteNumber("EndPositionTicks", current.EndPositionTicks);
 
-                     writer.WriteEndObject();
 
-                 }
 
-                 writer.WriteEndArray();
 
-                 writer.WriteEndObject();
 
-                 writer.Flush();
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |