Browse Source

update hdhr channel ids

Luke Pulverenti 7 years ago
parent
commit
d2b86edf05

+ 10 - 9
Emby.Drawing.Skia/SkiaEncoder.cs

@@ -74,8 +74,9 @@ namespace Emby.Drawing.Skia
             return typeof(SKBitmap).GetTypeInfo().Assembly.GetName().Version.ToString();
         }
 
-        private static bool IsWhiteSpace(SKColor color)
+        private static bool IsTransparent(SKColor color)
         {
+            
             return (color.Red == 255 && color.Green == 255 && color.Blue == 255) || color.Alpha == 0;
         }
 
@@ -96,11 +97,11 @@ namespace Emby.Drawing.Skia
             }
         }
 
-        private static bool IsAllWhiteRow(SKBitmap bmp, int row)
+        private static bool IsTransparentRow(SKBitmap bmp, int row)
         {
             for (var i = 0; i < bmp.Width; ++i)
             {
-                if (!IsWhiteSpace(bmp.GetPixel(i, row)))
+                if (!IsTransparent(bmp.GetPixel(i, row)))
                 {
                     return false;
                 }
@@ -108,11 +109,11 @@ namespace Emby.Drawing.Skia
             return true;
         }
 
-        private static bool IsAllWhiteColumn(SKBitmap bmp, int col)
+        private static bool IsTransparentColumn(SKBitmap bmp, int col)
         {
             for (var i = 0; i < bmp.Height; ++i)
             {
-                if (!IsWhiteSpace(bmp.GetPixel(col, i)))
+                if (!IsTransparent(bmp.GetPixel(col, i)))
                 {
                     return false;
                 }
@@ -125,7 +126,7 @@ namespace Emby.Drawing.Skia
             var topmost = 0;
             for (int row = 0; row < bitmap.Height; ++row)
             {
-                if (IsAllWhiteRow(bitmap, row))
+                if (IsTransparentRow(bitmap, row))
                     topmost = row + 1;
                 else break;
             }
@@ -133,7 +134,7 @@ namespace Emby.Drawing.Skia
             int bottommost = bitmap.Height;
             for (int row = bitmap.Height - 1; row >= 0; --row)
             {
-                if (IsAllWhiteRow(bitmap, row))
+                if (IsTransparentRow(bitmap, row))
                     bottommost = row;
                 else break;
             }
@@ -141,7 +142,7 @@ namespace Emby.Drawing.Skia
             int leftmost = 0, rightmost = bitmap.Width;
             for (int col = 0; col < bitmap.Width; ++col)
             {
-                if (IsAllWhiteColumn(bitmap, col))
+                if (IsTransparentColumn(bitmap, col))
                     leftmost = col + 1;
                 else
                     break;
@@ -149,7 +150,7 @@ namespace Emby.Drawing.Skia
 
             for (int col = bitmap.Width - 1; col >= 0; --col)
             {
-                if (IsAllWhiteColumn(bitmap, col))
+                if (IsTransparentColumn(bitmap, col))
                     rightmost = col;
                 else
                     break;

+ 1 - 80
Emby.Server.Implementations/ApplicationHost.cs

@@ -356,8 +356,6 @@ namespace Emby.Server.Implementations
         /// </summary>
         public override async Task RunStartupTasks()
         {
-            await PerformPreInitMigrations().ConfigureAwait(false);
-
             await base.RunStartupTasks().ConfigureAwait(false);
 
             await MediaEncoder.Init().ConfigureAwait(false);
@@ -375,7 +373,6 @@ namespace Emby.Server.Implementations
             Logger.Info("Core startup complete");
             HttpServer.GlobalResponse = null;
 
-            PerformPostInitMigrations();
             Logger.Info("Post-init migrations complete");
 
             foreach (var entryPoint in GetExports<IServerEntryPoint>().ToList())
@@ -410,45 +407,7 @@ namespace Emby.Server.Implementations
                 // Failing under mono
             }
 
-            var result = new JsonSerializer(FileSystemManager, LogManager.GetLogger("JsonSerializer"));
-
-            ServiceStack.Text.JsConfig<LiveTvProgram>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<LiveTvChannel>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<LiveTvVideoRecording>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<LiveTvAudioRecording>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Series>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Audio>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<MusicAlbum>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<MusicArtist>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<MusicGenre>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<MusicVideo>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Movie>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Playlist>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<AudioPodcast>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<AudioBook>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Trailer>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<BoxSet>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Episode>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Season>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Book>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<CollectionFolder>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Folder>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Game>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<GameGenre>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<GameSystem>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Genre>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Person>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Photo>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<PhotoAlbum>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Studio>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<UserRootFolder>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<UserView>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Video>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Year>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<Channel>.ExcludePropertyNames = new[] { "ProviderIds" };
-            ServiceStack.Text.JsConfig<AggregateFolder>.ExcludePropertyNames = new[] { "ProviderIds" };
-
-            return result;
+            return new JsonSerializer(FileSystemManager, LogManager.GetLogger("JsonSerializer"));
         }
 
         public override Task Init(IProgress<double> progress)
@@ -466,44 +425,6 @@ namespace Emby.Server.Implementations
             return base.Init(progress);
         }
 
-        private async Task PerformPreInitMigrations()
-        {
-            var migrations = new List<IVersionMigration>
-            {
-            };
-
-            foreach (var task in migrations)
-            {
-                try
-                {
-                    await task.Run().ConfigureAwait(false);
-                }
-                catch (Exception ex)
-                {
-                    Logger.ErrorException("Error running migration", ex);
-                }
-            }
-        }
-
-        private void PerformPostInitMigrations()
-        {
-            var migrations = new List<IVersionMigration>
-            {
-            };
-
-            foreach (var task in migrations)
-            {
-                try
-                {
-                    task.Run();
-                }
-                catch (Exception ex)
-                {
-                    Logger.ErrorException("Error running migration", ex);
-                }
-            }
-        }
-
         protected abstract IConnectManager CreateConnectManager();
         protected abstract ISyncManager CreateSyncManager();
 

+ 12 - 26
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -202,7 +202,6 @@ namespace Emby.Server.Implementations.Data
                     AddColumn(db, "TypedBaseItems", "ForcedSortName", "Text", existingColumnNames);
                     AddColumn(db, "TypedBaseItems", "RunTimeTicks", "BIGINT", existingColumnNames);
                     AddColumn(db, "TypedBaseItems", "HomePageUrl", "Text", existingColumnNames);
-                    AddColumn(db, "TypedBaseItems", "DisplayMediaType", "Text", existingColumnNames);
                     AddColumn(db, "TypedBaseItems", "DateCreated", "DATETIME", existingColumnNames);
                     AddColumn(db, "TypedBaseItems", "DateModified", "DATETIME", existingColumnNames);
                     AddColumn(db, "TypedBaseItems", "IsSeries", "BIT", existingColumnNames);
@@ -307,6 +306,8 @@ namespace Emby.Server.Implementations.Data
                 "drop index if exists idx_TypeSeriesPresentationUniqueKey",
                 "drop index if exists idx_SeriesPresentationUniqueKey",
                 "drop index if exists idx_TypeSeriesPresentationUniqueKey2",
+                "drop index if exists idx_AncestorIds3",
+                "drop index if exists idx_AncestorIds4",
 
                 "create index if not exists idx_PathTypedBaseItems on TypedBaseItems(Path)",
                 "create index if not exists idx_ParentIdTypedBaseItems on TypedBaseItems(ParentId)",
@@ -417,7 +418,6 @@ namespace Emby.Server.Implementations.Data
             "ProductionYear",
             "OfficialRating",
             "HomePageUrl",
-            "DisplayMediaType",
             "ForcedSortName",
             "RunTimeTicks",
             "DateCreated",
@@ -534,7 +534,6 @@ namespace Emby.Server.Implementations.Data
                 "ForcedSortName",
                 "RunTimeTicks",
                 "HomePageUrl",
-                "DisplayMediaType",
                 "DateCreated",
                 "DateModified",
                 "PreferredMetadataLanguage",
@@ -811,7 +810,6 @@ namespace Emby.Server.Implementations.Data
             saveItemStatement.TryBind("@RunTimeTicks", item.RunTimeTicks);
 
             saveItemStatement.TryBind("@HomePageUrl", item.HomePageUrl);
-            saveItemStatement.TryBindNull("@DisplayMediaType");
             saveItemStatement.TryBind("@DateCreated", item.DateCreated);
             saveItemStatement.TryBind("@DateModified", item.DateModified);
 
@@ -1218,14 +1216,15 @@ namespace Emby.Server.Implementations.Data
                 {
                     return false;
                 }
-                if (type == typeof(Season))
-                {
-                    return false;
-                }
-                if (type == typeof(MusicArtist))
-                {
-                    return false;
-                }
+            }
+
+            if (type == typeof(Season))
+            {
+                return false;
+            }
+            if (type == typeof(MusicArtist))
+            {
+                return false;
             }
 
             if (type == typeof(Person))
@@ -1573,19 +1572,6 @@ namespace Emby.Server.Implementations.Data
                 index++;
             }
 
-            var video = item as Video;
-            if (HasField(query, ItemFields.DisplayMediaType))
-            {
-                if (video != null)
-                {
-                    if (!reader.IsDBNull(index))
-                    {
-                        video.DisplayMediaType = reader.GetString(index);
-                    }
-                }
-                index++;
-            }
-
             if (HasField(query, ItemFields.SortName))
             {
                 if (!reader.IsDBNull(index))
@@ -1737,6 +1723,7 @@ namespace Emby.Server.Implementations.Data
                 index++;
             }
 
+            var video = item as Video;
             if (video != null)
             {
                 if (!reader.IsDBNull(index))
@@ -2248,7 +2235,6 @@ namespace Emby.Server.Implementations.Data
             {
                 case ItemFields.HomePageUrl:
                 case ItemFields.CustomRating:
-                case ItemFields.DisplayMediaType:
                 case ItemFields.ProductionLocations:
                 case ItemFields.Settings:
                 case ItemFields.OriginalTitle:

+ 4 - 1
Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs

@@ -68,7 +68,10 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
         {
             var id = ChannelIdPrefix + i.GuideNumber;
 
-            id += '_' + (i.GuideName ?? string.Empty).GetMD5().ToString("N");
+            if (!info.EnableNewHdhrChannelIds)
+            {
+                id += '_' + (i.GuideName ?? string.Empty).GetMD5().ToString("N");
+            }
 
             return id;
         }

+ 0 - 1
Emby.Server.Implementations/Session/SessionManager.cs

@@ -1670,7 +1670,6 @@ namespace Emby.Server.Implementations.Session
                 dtoOptions.Fields.Remove(ItemFields.DateLastMediaAdded);
                 dtoOptions.Fields.Remove(ItemFields.DateLastRefreshed);
                 dtoOptions.Fields.Remove(ItemFields.DateLastSaved);
-                dtoOptions.Fields.Remove(ItemFields.DisplayMediaType);
                 dtoOptions.Fields.Remove(ItemFields.DisplayPreferencesId);
                 dtoOptions.Fields.Remove(ItemFields.Etag);
                 dtoOptions.Fields.Remove(ItemFields.ExternalEtag);

+ 2 - 0
MediaBrowser.Api/LiveTv/LiveTvService.cs

@@ -852,6 +852,8 @@ namespace MediaBrowser.Api.LiveTv
 
         public async Task<object> Post(AddTunerHost request)
         {
+            request.EnableNewHdhrChannelIds = true;
+
             var result = await _liveTvManager.SaveTunerHost(request).ConfigureAwait(false);
             return ToOptimizedResult(result);
         }

+ 1 - 0
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -1246,6 +1246,7 @@ namespace MediaBrowser.Controller.Entities
         /// Gets or sets the provider ids.
         /// </summary>
         /// <value>The provider ids.</value>
+        [IgnoreDataMember]
         public Dictionary<string, string> ProviderIds { get; set; }
 
         [IgnoreDataMember]

+ 0 - 6
MediaBrowser.Controller/Entities/Video.cs

@@ -53,12 +53,6 @@ namespace MediaBrowser.Controller.Entities
             }
         }
 
-        /// <summary>
-        /// Gets or sets the display type of the media.
-        /// </summary>
-        /// <value>The display type of the media.</value>
-        public string DisplayMediaType { get; set; }
-
         [IgnoreDataMember]
         public override bool SupportsPositionTicksResume
         {

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

@@ -47,6 +47,7 @@ namespace MediaBrowser.Model.LiveTv
         public bool ImportFavoritesOnly { get; set; }
         public bool AllowHWTranscoding { get; set; }
         public bool EnableStreamLooping { get; set; }
+        public bool EnableNewHdhrChannelIds { get; set; }
 
         public TunerHostInfo()
         {

+ 0 - 5
MediaBrowser.Model/Querying/ItemFields.cs

@@ -62,11 +62,6 @@
         /// </summary>
         DisplayPreferencesId,
 
-        /// <summary>
-        /// The display media type
-        /// </summary>
-        DisplayMediaType,
-
         /// <summary>
         /// The etag
         /// </summary>

+ 0 - 17
MediaBrowser.Providers/Manager/ProviderUtils.cs

@@ -202,23 +202,6 @@ namespace MediaBrowser.Providers.Manager
                 }
             }
 
-            //if (!lockedFields.Contains(MetadataFields.DisplayMediaType))
-            {
-                var targetVideo = target as Video;
-                var sourceVideo = source as Video;
-                if (sourceVideo != null && targetVideo != null)
-                {
-                    if (replaceData || string.IsNullOrEmpty(targetVideo.DisplayMediaType))
-                    {
-                        // Safeguard against incoming data having an emtpy name
-                        if (!string.IsNullOrWhiteSpace(sourceVideo.DisplayMediaType))
-                        {
-                            targetVideo.DisplayMediaType = sourceVideo.DisplayMediaType;
-                        }
-                    }
-                }
-            }
-
             if (mergeMetadataSettings)
             {
                 MergeMetadataSettings(source, target);