diff options
Diffstat (limited to 'MediaBrowser.Controller/Channels')
| -rw-r--r-- | MediaBrowser.Controller/Channels/ChannelVideoItem.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Channels/IChannelManager.cs | 9 |
2 files changed, 20 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Channels/ChannelVideoItem.cs b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs index 2f207c420..7a261bc58 100644 --- a/MediaBrowser.Controller/Channels/ChannelVideoItem.cs +++ b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs @@ -1,6 +1,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Channels; using MediaBrowser.Model.Configuration; +using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using System.Collections.Generic; using System.Globalization; @@ -10,6 +11,8 @@ namespace MediaBrowser.Controller.Channels { public class ChannelVideoItem : Video, IChannelMediaItem { + public static IChannelManager ChannelManager { get; set; } + public string ExternalId { get; set; } public string ChannelId { get; set; } @@ -77,5 +80,14 @@ namespace MediaBrowser.Controller.Channels return base.LocationType; } } + + public override IEnumerable<MediaSourceInfo> GetMediaSources(bool enablePathSubstitution) + { + var list = base.GetMediaSources(enablePathSubstitution).ToList(); + + list.InsertRange(0, ChannelManager.GetCachedChannelItemMediaSources(Id.ToString("N"))); + + return list; + } } } diff --git a/MediaBrowser.Controller/Channels/IChannelManager.cs b/MediaBrowser.Controller/Channels/IChannelManager.cs index 4be38870b..180ac4a39 100644 --- a/MediaBrowser.Controller/Channels/IChannelManager.cs +++ b/MediaBrowser.Controller/Channels/IChannelManager.cs @@ -67,11 +67,18 @@ namespace MediaBrowser.Controller.Channels Task<QueryResult<BaseItemDto>> GetChannelItems(ChannelItemQuery query, CancellationToken cancellationToken); /// <summary> + /// Gets the cached channel item media sources. + /// </summary> + /// <param name="id">The identifier.</param> + /// <returns>IEnumerable{MediaSourceInfo}.</returns> + IEnumerable<MediaSourceInfo> GetCachedChannelItemMediaSources(string id); + + /// <summary> /// Gets the channel item media sources. /// </summary> /// <param name="id">The identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> - /// <returns>Task{IEnumerable{ChannelMediaInfo}}.</returns> + /// <returns>Task{IEnumerable{MediaSourceInfo}}.</returns> Task<IEnumerable<MediaSourceInfo>> GetChannelItemMediaSources(string id, CancellationToken cancellationToken); } } |
