浏览代码

add tuner data version

Luke Pulverenti 9 年之前
父节点
当前提交
ea374c01b1

+ 1 - 1
MediaBrowser.Controller/LiveTv/LiveTvTunerInfo.cs

@@ -64,7 +64,7 @@ namespace MediaBrowser.Controller.LiveTv
         /// </summary>
         /// <value><c>true</c> if this instance can reset; otherwise, <c>false</c>.</value>
         public bool CanReset { get; set; }
-
+        
         public LiveTvTunerInfo()
         {
             Clients = new List<string>();

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

@@ -32,6 +32,8 @@ namespace MediaBrowser.Model.LiveTv
         public bool ImportFavoritesOnly { get; set; }
         public bool IsEnabled { get; set; }
 
+        public int DataVersion { get; set; }
+
         public TunerHostInfo()
         {
             IsEnabled = true;

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

@@ -87,7 +87,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
             _timerProvider.RestartTimers();
 
             SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
-
         }
 
         void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)

+ 13 - 1
MediaBrowser.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs

@@ -48,6 +48,18 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
 
         private const string ChannelIdPrefix = "hdhr_";
 
+        private string GetChannelId(TunerHostInfo info, Channels i)
+        {
+            var id = ChannelIdPrefix + i.GuideNumber.ToString(CultureInfo.InvariantCulture);
+
+            if (info.DataVersion >= 1)
+            {
+                id += '_' + (i.GuideName ?? string.Empty).GetMD5().ToString("N");
+            }
+
+            return id;
+        }
+
         protected override async Task<IEnumerable<ChannelInfo>> GetChannelsInternal(TunerHostInfo info, CancellationToken cancellationToken)
         {
             var options = new HttpRequestOptions
@@ -65,7 +77,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
                     {
                         Name = i.GuideName,
                         Number = i.GuideNumber.ToString(CultureInfo.InvariantCulture),
-                        Id = ChannelIdPrefix + i.GuideNumber.ToString(CultureInfo.InvariantCulture) + '_' + (i.GuideName ?? string.Empty).GetMD5().ToString("N"),
+                        Id = GetChannelId(info, i),
                         IsFavorite = i.Favorite,
                         TunerHostId = info.Id