using MediaBrowser.Model.Dto; using MediaBrowser.Model.LiveTv; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.LiveTv { public interface ITunerHost { /// /// Gets the name. /// /// The name. string Name { get; } /// /// Gets the type. /// /// The type. string Type { get; } /// /// Gets the tuner hosts. /// /// List<TunerHostInfo>. List GetTunerHosts(); /// /// Gets the channels. /// /// The information. /// The cancellation token. /// Task<IEnumerable<ChannelInfo>>. Task> GetChannels(TunerHostInfo info, CancellationToken cancellationToken); /// /// Gets the tuner infos. /// /// The information. /// The cancellation token. /// Task<List<LiveTvTunerInfo>>. Task> GetTunerInfos(TunerHostInfo info, CancellationToken cancellationToken); /// /// Gets the channel stream. /// /// The information. /// The channel identifier. /// The stream identifier. /// The cancellation token. /// Task<MediaSourceInfo>. Task GetChannelStream(TunerHostInfo info, string channelId, string streamId, CancellationToken cancellationToken); /// /// Gets the channel stream media sources. /// /// The information. /// The channel identifier. /// The cancellation token. /// Task<List<MediaSourceInfo>>. Task> GetChannelStreamMediaSources(TunerHostInfo info, string channelId, CancellationToken cancellationToken); /// /// Validates the specified information. /// /// The information. /// Task. Task Validate(TunerHostInfo info); } }