Jelajahi Sumber

add mappings to add meta data method

Luke Pulverenti 9 tahun lalu
induk
melakukan
2538889943

+ 13 - 0
MediaBrowser.Model/LiveTv/LiveTvOptions.cs

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Dto;
+using MediaBrowser.Model.Extensions;
 
 
 namespace MediaBrowser.Model.LiveTv
 namespace MediaBrowser.Model.LiveTv
 {
 {
@@ -90,5 +91,17 @@ namespace MediaBrowser.Model.LiveTv
             EnableAllTuners = true;
             EnableAllTuners = true;
             ChannelMappings = new NameValuePair[] {};
             ChannelMappings = new NameValuePair[] {};
         }
         }
+
+        public string GetMappedChannel(string channelNumber)
+        {
+            foreach (NameValuePair mapping in ChannelMappings)
+            {
+                if (StringHelper.EqualsIgnoreCase(mapping.Name, channelNumber))
+                {
+                    return mapping.Value;
+                }
+            }
+            return channelNumber;
+        }
     }
     }
 }
 }

+ 1 - 1
MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs

@@ -1000,7 +1000,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
                         result.Item3.Release();
                         result.Item3.Release();
                     }
                     }
 
 
-                    _libraryMonitor.ReportFileSystemChangeComplete(recordPath, false);
+                    _libraryMonitor.ReportFileSystemChangeComplete(recordPath, true);
                 }
                 }
             }
             }
             catch (OperationCanceledException)
             catch (OperationCanceledException)

+ 4 - 2
MediaBrowser.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs

@@ -107,11 +107,13 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
             var reader = new XmlTvReader(info.Path, GetLanguage(), null);
             var reader = new XmlTvReader(info.Path, GetLanguage(), null);
             var results = reader.GetChannels().ToList();
             var results = reader.GetChannels().ToList();
 
 
-            if (channels != null && channels.Count > 0)
+            if (channels != null)
             {
             {
                 channels.ForEach(c =>
                 channels.ForEach(c =>
                 {
                 {
-                    var match = results.FirstOrDefault(r => r.Id == c.Id);
+                    var channelNumber = info.GetMappedChannel(c.Number);
+                    var match = results.FirstOrDefault(r => string.Equals(r.Id, channelNumber, StringComparison.OrdinalIgnoreCase));
+
                     if (match != null && match.Icon != null && !String.IsNullOrEmpty(match.Icon.Source))
                     if (match != null && match.Icon != null && !String.IsNullOrEmpty(match.Icon.Source))
                     {
                     {
                         c.ImageUrl = match.Icon.Source;
                         c.ImageUrl = match.Icon.Source;