using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Dto; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace Emby.Server.Implementations.Channels { public class ChannelDynamicMediaSourceProvider : IMediaSourceProvider { private readonly ChannelManager _channelManager; public ChannelDynamicMediaSourceProvider(IChannelManager channelManager) { _channelManager = (ChannelManager)channelManager; } public Task> GetMediaSources(IHasMediaSources item, CancellationToken cancellationToken) { var baseItem = (BaseItem) item; if (baseItem.SourceType == SourceType.Channel) { return _channelManager.GetDynamicMediaSources(baseItem, cancellationToken); } return Task.FromResult>(new List()); } public Task> OpenMediaSource(string openToken, bool allowLiveStreamProbe, CancellationToken cancellationToken) { throw new NotImplementedException(); } public Task CloseMediaSource(string liveStreamId) { throw new NotImplementedException(); } } }