aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Channels
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Channels')
-rw-r--r--MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs11
-rw-r--r--MediaBrowser.Server.Implementations/Channels/ChannelManager.cs12
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();