diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Channels')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Channels/ChannelManager.cs | 12 |
2 files changed, 15 insertions, 8 deletions
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs b/MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs index fdc5cfd227..43de6080f9 100644 --- a/MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs @@ -8,8 +8,8 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Channels; using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; +using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Querying; using System; using System.Collections.Generic; @@ -182,7 +182,7 @@ namespace MediaBrowser.Server.Implementations.Channels var list = sources.ToList(); - var cachedVersions = list.Where(i => i.LocationType == LocationType.FileSystem).ToList(); + var cachedVersions = list.Where(i => i.Protocol == MediaProtocol.File).ToList(); if (cachedVersions.Count > 0) { @@ -190,7 +190,12 @@ namespace MediaBrowser.Server.Implementations.Channels return; } - var source = list.First(); + var source = list.FirstOrDefault(i => i.Protocol == MediaProtocol.Http); + + if (source == null) + { + return; + } var options = new HttpRequestOptions { diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs index ad775b5764..59e4e695dc 100644 --- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs +++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs @@ -280,7 +280,7 @@ namespace MediaBrowser.Server.Implementations.Channels MediaStreams = GetMediaStreams(info).ToList(), Container = info.Container, - LocationType = info.IsRemote ? LocationType.Remote : LocationType.FileSystem, + Protocol = info.Protocol, Path = info.Path, RequiredHttpHeaders = info.RequiredHttpHeaders, RunTimeTicks = item.RunTimeTicks, @@ -555,17 +555,18 @@ namespace MediaBrowser.Server.Implementations.Channels return GetChannelItemEntity(i.Item2, channelProvider, channel, token); }); - IEnumerable<BaseItem> internalItems = await Task.WhenAll(itemTasks).ConfigureAwait(false); + var internalItems = await Task.WhenAll(itemTasks).ConfigureAwait(false); - internalItems = ApplyFilters(internalItems, query.Filters, user); + internalItems = ApplyFilters(internalItems, query.Filters, user).ToArray(); + await RefreshIfNeeded(internalItems, cancellationToken).ConfigureAwait(false); if (query.StartIndex.HasValue) { - internalItems = internalItems.Skip(query.StartIndex.Value); + internalItems = internalItems.Skip(query.StartIndex.Value).ToArray(); } if (query.Limit.HasValue) { - internalItems = internalItems.Take(query.Limit.Value); + internalItems = internalItems.Take(query.Limit.Value).ToArray(); } var returnItemArray = internalItems.Select(i => _dtoService.GetBaseItemDto(i, query.Fields, user)) @@ -658,6 +659,7 @@ namespace MediaBrowser.Server.Implementations.Channels }); var internalItems = await Task.WhenAll(itemTasks).ConfigureAwait(false); + await RefreshIfNeeded(internalItems, cancellationToken).ConfigureAwait(false); var returnItemArray = internalItems.Select(i => _dtoService.GetBaseItemDto(i, query.Fields, user)) .ToArray(); |
