diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-03-25 18:08:43 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-03-25 18:08:43 -0400 |
| commit | b2f7352094cd2b844c200605372b22507f9134ce (patch) | |
| tree | b221cee659c24467d94064cf7ad2d3723e15a314 | |
| parent | 0cffe00aae80342d050a40848050f7cae3af8f61 (diff) | |
improve m3u parsing
| -rw-r--r-- | Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs | 6 | ||||
| -rw-r--r-- | Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index 3bd2dd1bf..2d9ea5853 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -442,6 +442,11 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { result = await provider.GetChannels(info, cancellationToken).ConfigureAwait(false); + foreach (var channel in result) + { + _logger.Info("Found epg channel in {0} {1} {2} {3}", provider.Name, info.ListingsId, channel.Name, channel.Id); + } + _epgChannels.AddOrUpdate(info.Id, result, (k, v) => result); } @@ -1018,6 +1023,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV if (epgChannel == null) { + _logger.Debug("EPG channel not found for tuner channel {0}-{1} from {2}-{3}", channel.Number, channel.Name, provider.Item1.Name, provider.Item2.ListingsId ?? string.Empty); programs = new List<ProgramInfo>(); } else diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs index 8c4b9bf60..fe677f6fa 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs @@ -144,6 +144,11 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts channel.TunerChannelId = string.IsNullOrWhiteSpace(tvgId) ? channelId : tvgId; + if (!string.IsNullOrWhiteSpace(channel.TunerChannelId) && channel.TunerChannelId.IndexOf(".json.schedulesdirect.org", StringComparison.OrdinalIgnoreCase) != -1) + { + channel.TunerChannelId = channel.TunerChannelId.Replace(".json.schedulesdirect.org", string.Empty, StringComparison.OrdinalIgnoreCase).TrimStart('I'); + } + var channelIdValues = new List<string>(); if (!string.IsNullOrWhiteSpace(channelId)) { |
