| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | using System;using System.Collections.Generic;using System.Linq;using System.Threading;using System.Threading.Tasks;using MediaBrowser.Controller.Channels;using MediaBrowser.Controller.Entities;using MediaBrowser.Controller.Library;using MediaBrowser.Model.Dto;namespace Emby.Server.Implementations.Channels{    /// <summary>    /// A media source provider for channels.    /// </summary>    public class ChannelDynamicMediaSourceProvider : IMediaSourceProvider    {        private readonly ChannelManager _channelManager;        /// <summary>        /// Initializes a new instance of the <see cref="ChannelDynamicMediaSourceProvider"/> class.        /// </summary>        /// <param name="channelManager">The channel manager.</param>        public ChannelDynamicMediaSourceProvider(IChannelManager channelManager)        {            _channelManager = (ChannelManager)channelManager;        }        /// <inheritdoc />        public Task<IEnumerable<MediaSourceInfo>> GetMediaSources(BaseItem item, CancellationToken cancellationToken)        {            return item.SourceType == SourceType.Channel                ? _channelManager.GetDynamicMediaSources(item, cancellationToken)                : Task.FromResult(Enumerable.Empty<MediaSourceInfo>());        }        /// <inheritdoc />        public Task<ILiveStream> OpenMediaSource(string openToken, List<ILiveStream> currentLiveStreams, CancellationToken cancellationToken)        {            throw new NotImplementedException();        }    }}
 |