diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-01-31 16:30:29 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-01-31 16:30:29 -0500 |
| commit | 2531e551b29d2bc3d9c32f28fa8392c5a982b04e (patch) | |
| tree | d248ea49424d5c086564bf7df45bf07f071b9b17 /Emby.Server.Implementations | |
| parent | 91d82b582fafcc5acc6a294198e8b44932ae3114 (diff) | |
| parent | bdf4cc0afa5626a4d17abac5c19dfb6e66c398ad (diff) | |
Merge pull request #2434 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations')
3 files changed, 23 insertions, 5 deletions
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index 6635fa68b..07fe813bd 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -847,11 +847,15 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV var channelMappings = GetChannelMappings(provider.Item2); var channelNumber = channel.Number; - string mappedChannelNumber; - if (channelMappings.TryGetValue(channelNumber, out mappedChannelNumber)) + + if (!string.IsNullOrWhiteSpace(channelNumber)) { - _logger.Debug("Found mapped channel on provider {0}. Tuner channel number: {1}, Mapped channel number: {2}", provider.Item1.Name, channelNumber, mappedChannelNumber); - channelNumber = mappedChannelNumber; + string mappedChannelNumber; + if (channelMappings.TryGetValue(channelNumber, out mappedChannelNumber)) + { + _logger.Debug("Found mapped channel on provider {0}. Tuner channel number: {1}, Mapped channel number: {2}", provider.Item1.Name, channelNumber, mappedChannelNumber); + channelNumber = mappedChannelNumber; + } } var programs = await provider.Item1.GetProgramsAsync(provider.Item2, channelNumber, channel.Name, startDateUtc, endDateUtc, cancellationToken) diff --git a/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs b/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs index 66db4f3f2..abb853eb2 100644 --- a/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs +++ b/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs @@ -161,7 +161,14 @@ namespace Emby.Server.Implementations.LiveTv.Listings } else { - programInfo.ShowId = ((p.Title ?? string.Empty) + (episodeTitle ?? string.Empty)).GetMD5().ToString("N"); + var uniqueString = (p.Title ?? string.Empty) + (episodeTitle ?? string.Empty); + + if (programInfo.EpisodeNumber.HasValue) + { + uniqueString = "-" + programInfo.EpisodeNumber.Value.ToString(CultureInfo.InvariantCulture); + } + + programInfo.ShowId = uniqueString.GetMD5().ToString("N"); } if (programInfo.IsMovie) diff --git a/Emby.Server.Implementations/TV/TVSeriesManager.cs b/Emby.Server.Implementations/TV/TVSeriesManager.cs index 6bf412525..9dfaa102a 100644 --- a/Emby.Server.Implementations/TV/TVSeriesManager.cs +++ b/Emby.Server.Implementations/TV/TVSeriesManager.cs @@ -144,12 +144,19 @@ namespace Emby.Server.Implementations.TV // If viewing all next up for all series, remove first episodes // But if that returns empty, keep those first episodes (avoid completely empty view) var alwaysEnableFirstEpisode = !string.IsNullOrWhiteSpace(request.SeriesId); + var anyFound = false; return allNextUp .Where(i => { if (alwaysEnableFirstEpisode || i.Item1 != DateTime.MinValue) { + anyFound = true; + return true; + } + + if (!anyFound && i.Item1 == DateTime.MinValue) + { return true; } |
