aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-25 13:13:30 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-25 13:13:30 -0400
commit32babe2b941d2f43d9e1c61ceaa58d6d31a9d60f (patch)
treed305cff911f90539dca426005cd9f3a6067f51aa /MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs
parent492f897f818abc1a1eee0352864ce4c06de4de1c (diff)
update images
Diffstat (limited to 'MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs')
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs53
1 files changed, 9 insertions, 44 deletions
diff --git a/MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs b/MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs
index 2204535a2..24d38a63e 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs
@@ -39,58 +39,23 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var imageResponse = new DynamicImageResponse();
- if (!string.IsNullOrEmpty(liveTvItem.ExternalImagePath))
+ var service = _liveTvManager.Services.FirstOrDefault(i => string.Equals(i.Name, liveTvItem.ServiceName, StringComparison.OrdinalIgnoreCase));
+
+ if (service != null)
{
- if (liveTvItem.ExternalImagePath.StartsWith("http", StringComparison.OrdinalIgnoreCase))
+ try
{
- var options = new HttpRequestOptions
- {
- CancellationToken = cancellationToken,
- Url = liveTvItem.ExternalImagePath,
-
- // Some image hosts require a user agent to be specified.
- UserAgent = "Emby Server/" + _appHost.ApplicationVersion
- };
-
- var response = await _httpClient.GetResponse(options).ConfigureAwait(false);
+ var response = await service.GetChannelImageAsync(liveTvItem.ExternalId, cancellationToken).ConfigureAwait(false);
- if (response.ContentType.StartsWith("image/", StringComparison.OrdinalIgnoreCase))
+ if (response != null)
{
imageResponse.HasImage = true;
- imageResponse.Stream = response.Content;
- imageResponse.SetFormatFromMimeType(response.ContentType);
+ imageResponse.Stream = response.Stream;
+ imageResponse.Format = response.Format;
}
- else
- {
- _logger.Error("Provider did not return an image content type.");
- }
- }
- else
- {
- imageResponse.Path = liveTvItem.ExternalImagePath;
- imageResponse.HasImage = true;
}
- }
- else
- {
- var service = _liveTvManager.Services.FirstOrDefault(i => string.Equals(i.Name, liveTvItem.ServiceName, StringComparison.OrdinalIgnoreCase));
-
- if (service != null)
+ catch (NotImplementedException)
{
- try
- {
- var response = await service.GetChannelImageAsync(liveTvItem.ExternalId, cancellationToken).ConfigureAwait(false);
-
- if (response != null)
- {
- imageResponse.HasImage = true;
- imageResponse.Stream = response.Stream;
- imageResponse.Format = response.Format;
- }
- }
- catch (NotImplementedException)
- {
- }
}
}