#nullable disable #pragma warning disable CS1591 using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Dto; using MediaBrowser.Model.LiveTv; namespace MediaBrowser.Controller.LiveTv { public interface ITunerHost { /// /// Gets the name. /// /// The name. string Name { get; } /// /// Gets the type. /// /// The type. string Type { get; } bool IsSupported { get; } /// /// Gets the channels. /// /// Option to enable using cache. /// The CancellationToken for this operation. /// Task<IEnumerable<ChannelInfo>>. Task> GetChannels(bool enableCache, CancellationToken cancellationToken); /// /// Gets the channel stream. /// /// The channel identifier. /// The stream identifier. /// The current live streams. /// The cancellation token to cancel operation. /// Live stream wrapped in a task. Task GetChannelStream(string channelId, string streamId, IList currentLiveStreams, CancellationToken cancellationToken); /// /// Gets the channel stream media sources. /// /// The channel identifier. /// The cancellation token. /// Task<List<MediaSourceInfo>>. Task> GetChannelStreamMediaSources(string channelId, CancellationToken cancellationToken); Task> DiscoverDevices(int discoveryDurationMs, CancellationToken cancellationToken); } public interface IConfigurableTunerHost { /// /// Validates the specified information. /// /// The information. /// Task. Task Validate(TunerHostInfo info); } }