using MediaBrowser.Model.MediaInfo; using System.IO; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.MediaEncoding { public interface ISubtitleEncoder { /// /// Gets the subtitles. /// /// The item identifier. /// The media source identifier. /// Index of the subtitle stream. /// The output format. /// The start time ticks. /// The end time ticks. /// The cancellation token. /// Task{Stream}. Task GetSubtitles(string itemId, string mediaSourceId, int subtitleStreamIndex, string outputFormat, long startTimeTicks, long? endTimeTicks, CancellationToken cancellationToken); /// /// Gets the subtitle language encoding parameter. /// /// The path. /// The protocol. /// The cancellation token. /// System.String. Task GetSubtitleFileCharacterSet(string path, MediaProtocol protocol, CancellationToken cancellationToken); } }