commit
d5a9db3af7
|
@ -74,8 +74,9 @@ namespace Emby.Drawing.Skia
|
||||||
return typeof(SKBitmap).GetTypeInfo().Assembly.GetName().Version.ToString();
|
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;
|
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)
|
for (var i = 0; i < bmp.Width; ++i)
|
||||||
{
|
{
|
||||||
if (!IsWhiteSpace(bmp.GetPixel(i, row)))
|
if (!IsTransparent(bmp.GetPixel(i, row)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -108,11 +109,11 @@ namespace Emby.Drawing.Skia
|
||||||
return true;
|
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)
|
for (var i = 0; i < bmp.Height; ++i)
|
||||||
{
|
{
|
||||||
if (!IsWhiteSpace(bmp.GetPixel(col, i)))
|
if (!IsTransparent(bmp.GetPixel(col, i)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -125,7 +126,7 @@ namespace Emby.Drawing.Skia
|
||||||
var topmost = 0;
|
var topmost = 0;
|
||||||
for (int row = 0; row < bitmap.Height; ++row)
|
for (int row = 0; row < bitmap.Height; ++row)
|
||||||
{
|
{
|
||||||
if (IsAllWhiteRow(bitmap, row))
|
if (IsTransparentRow(bitmap, row))
|
||||||
topmost = row + 1;
|
topmost = row + 1;
|
||||||
else break;
|
else break;
|
||||||
}
|
}
|
||||||
|
@ -133,7 +134,7 @@ namespace Emby.Drawing.Skia
|
||||||
int bottommost = bitmap.Height;
|
int bottommost = bitmap.Height;
|
||||||
for (int row = bitmap.Height - 1; row >= 0; --row)
|
for (int row = bitmap.Height - 1; row >= 0; --row)
|
||||||
{
|
{
|
||||||
if (IsAllWhiteRow(bitmap, row))
|
if (IsTransparentRow(bitmap, row))
|
||||||
bottommost = row;
|
bottommost = row;
|
||||||
else break;
|
else break;
|
||||||
}
|
}
|
||||||
|
@ -141,7 +142,7 @@ namespace Emby.Drawing.Skia
|
||||||
int leftmost = 0, rightmost = bitmap.Width;
|
int leftmost = 0, rightmost = bitmap.Width;
|
||||||
for (int col = 0; col < bitmap.Width; ++col)
|
for (int col = 0; col < bitmap.Width; ++col)
|
||||||
{
|
{
|
||||||
if (IsAllWhiteColumn(bitmap, col))
|
if (IsTransparentColumn(bitmap, col))
|
||||||
leftmost = col + 1;
|
leftmost = col + 1;
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
|
@ -149,7 +150,7 @@ namespace Emby.Drawing.Skia
|
||||||
|
|
||||||
for (int col = bitmap.Width - 1; col >= 0; --col)
|
for (int col = bitmap.Width - 1; col >= 0; --col)
|
||||||
{
|
{
|
||||||
if (IsAllWhiteColumn(bitmap, col))
|
if (IsTransparentColumn(bitmap, col))
|
||||||
rightmost = col;
|
rightmost = col;
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -356,8 +356,6 @@ namespace Emby.Server.Implementations
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override async Task RunStartupTasks()
|
public override async Task RunStartupTasks()
|
||||||
{
|
{
|
||||||
await PerformPreInitMigrations().ConfigureAwait(false);
|
|
||||||
|
|
||||||
await base.RunStartupTasks().ConfigureAwait(false);
|
await base.RunStartupTasks().ConfigureAwait(false);
|
||||||
|
|
||||||
await MediaEncoder.Init().ConfigureAwait(false);
|
await MediaEncoder.Init().ConfigureAwait(false);
|
||||||
|
@ -375,7 +373,6 @@ namespace Emby.Server.Implementations
|
||||||
Logger.Info("Core startup complete");
|
Logger.Info("Core startup complete");
|
||||||
HttpServer.GlobalResponse = null;
|
HttpServer.GlobalResponse = null;
|
||||||
|
|
||||||
PerformPostInitMigrations();
|
|
||||||
Logger.Info("Post-init migrations complete");
|
Logger.Info("Post-init migrations complete");
|
||||||
|
|
||||||
foreach (var entryPoint in GetExports<IServerEntryPoint>().ToList())
|
foreach (var entryPoint in GetExports<IServerEntryPoint>().ToList())
|
||||||
|
@ -410,45 +407,7 @@ namespace Emby.Server.Implementations
|
||||||
// Failing under mono
|
// Failing under mono
|
||||||
}
|
}
|
||||||
|
|
||||||
var result = new JsonSerializer(FileSystemManager, LogManager.GetLogger("JsonSerializer"));
|
return 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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Task Init(IProgress<double> progress)
|
public override Task Init(IProgress<double> progress)
|
||||||
|
@ -466,44 +425,6 @@ namespace Emby.Server.Implementations
|
||||||
return base.Init(progress);
|
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 IConnectManager CreateConnectManager();
|
||||||
protected abstract ISyncManager CreateSyncManager();
|
protected abstract ISyncManager CreateSyncManager();
|
||||||
|
|
||||||
|
|
|
@ -202,7 +202,6 @@ namespace Emby.Server.Implementations.Data
|
||||||
AddColumn(db, "TypedBaseItems", "ForcedSortName", "Text", existingColumnNames);
|
AddColumn(db, "TypedBaseItems", "ForcedSortName", "Text", existingColumnNames);
|
||||||
AddColumn(db, "TypedBaseItems", "RunTimeTicks", "BIGINT", existingColumnNames);
|
AddColumn(db, "TypedBaseItems", "RunTimeTicks", "BIGINT", existingColumnNames);
|
||||||
AddColumn(db, "TypedBaseItems", "HomePageUrl", "Text", existingColumnNames);
|
AddColumn(db, "TypedBaseItems", "HomePageUrl", "Text", existingColumnNames);
|
||||||
AddColumn(db, "TypedBaseItems", "DisplayMediaType", "Text", existingColumnNames);
|
|
||||||
AddColumn(db, "TypedBaseItems", "DateCreated", "DATETIME", existingColumnNames);
|
AddColumn(db, "TypedBaseItems", "DateCreated", "DATETIME", existingColumnNames);
|
||||||
AddColumn(db, "TypedBaseItems", "DateModified", "DATETIME", existingColumnNames);
|
AddColumn(db, "TypedBaseItems", "DateModified", "DATETIME", existingColumnNames);
|
||||||
AddColumn(db, "TypedBaseItems", "IsSeries", "BIT", 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_TypeSeriesPresentationUniqueKey",
|
||||||
"drop index if exists idx_SeriesPresentationUniqueKey",
|
"drop index if exists idx_SeriesPresentationUniqueKey",
|
||||||
"drop index if exists idx_TypeSeriesPresentationUniqueKey2",
|
"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_PathTypedBaseItems on TypedBaseItems(Path)",
|
||||||
"create index if not exists idx_ParentIdTypedBaseItems on TypedBaseItems(ParentId)",
|
"create index if not exists idx_ParentIdTypedBaseItems on TypedBaseItems(ParentId)",
|
||||||
|
@ -417,7 +418,6 @@ namespace Emby.Server.Implementations.Data
|
||||||
"ProductionYear",
|
"ProductionYear",
|
||||||
"OfficialRating",
|
"OfficialRating",
|
||||||
"HomePageUrl",
|
"HomePageUrl",
|
||||||
"DisplayMediaType",
|
|
||||||
"ForcedSortName",
|
"ForcedSortName",
|
||||||
"RunTimeTicks",
|
"RunTimeTicks",
|
||||||
"DateCreated",
|
"DateCreated",
|
||||||
|
@ -534,7 +534,6 @@ namespace Emby.Server.Implementations.Data
|
||||||
"ForcedSortName",
|
"ForcedSortName",
|
||||||
"RunTimeTicks",
|
"RunTimeTicks",
|
||||||
"HomePageUrl",
|
"HomePageUrl",
|
||||||
"DisplayMediaType",
|
|
||||||
"DateCreated",
|
"DateCreated",
|
||||||
"DateModified",
|
"DateModified",
|
||||||
"PreferredMetadataLanguage",
|
"PreferredMetadataLanguage",
|
||||||
|
@ -811,7 +810,6 @@ namespace Emby.Server.Implementations.Data
|
||||||
saveItemStatement.TryBind("@RunTimeTicks", item.RunTimeTicks);
|
saveItemStatement.TryBind("@RunTimeTicks", item.RunTimeTicks);
|
||||||
|
|
||||||
saveItemStatement.TryBind("@HomePageUrl", item.HomePageUrl);
|
saveItemStatement.TryBind("@HomePageUrl", item.HomePageUrl);
|
||||||
saveItemStatement.TryBindNull("@DisplayMediaType");
|
|
||||||
saveItemStatement.TryBind("@DateCreated", item.DateCreated);
|
saveItemStatement.TryBind("@DateCreated", item.DateCreated);
|
||||||
saveItemStatement.TryBind("@DateModified", item.DateModified);
|
saveItemStatement.TryBind("@DateModified", item.DateModified);
|
||||||
|
|
||||||
|
@ -1218,14 +1216,15 @@ namespace Emby.Server.Implementations.Data
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (type == typeof(Season))
|
}
|
||||||
{
|
|
||||||
return false;
|
if (type == typeof(Season))
|
||||||
}
|
{
|
||||||
if (type == typeof(MusicArtist))
|
return false;
|
||||||
{
|
}
|
||||||
return false;
|
if (type == typeof(MusicArtist))
|
||||||
}
|
{
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type == typeof(Person))
|
if (type == typeof(Person))
|
||||||
|
@ -1573,19 +1572,6 @@ namespace Emby.Server.Implementations.Data
|
||||||
index++;
|
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 (HasField(query, ItemFields.SortName))
|
||||||
{
|
{
|
||||||
if (!reader.IsDBNull(index))
|
if (!reader.IsDBNull(index))
|
||||||
|
@ -1737,6 +1723,7 @@ namespace Emby.Server.Implementations.Data
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var video = item as Video;
|
||||||
if (video != null)
|
if (video != null)
|
||||||
{
|
{
|
||||||
if (!reader.IsDBNull(index))
|
if (!reader.IsDBNull(index))
|
||||||
|
@ -2248,7 +2235,6 @@ namespace Emby.Server.Implementations.Data
|
||||||
{
|
{
|
||||||
case ItemFields.HomePageUrl:
|
case ItemFields.HomePageUrl:
|
||||||
case ItemFields.CustomRating:
|
case ItemFields.CustomRating:
|
||||||
case ItemFields.DisplayMediaType:
|
|
||||||
case ItemFields.ProductionLocations:
|
case ItemFields.ProductionLocations:
|
||||||
case ItemFields.Settings:
|
case ItemFields.Settings:
|
||||||
case ItemFields.OriginalTitle:
|
case ItemFields.OriginalTitle:
|
||||||
|
|
|
@ -68,7 +68,10 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
||||||
{
|
{
|
||||||
var id = ChannelIdPrefix + i.GuideNumber;
|
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;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1670,7 +1670,6 @@ namespace Emby.Server.Implementations.Session
|
||||||
dtoOptions.Fields.Remove(ItemFields.DateLastMediaAdded);
|
dtoOptions.Fields.Remove(ItemFields.DateLastMediaAdded);
|
||||||
dtoOptions.Fields.Remove(ItemFields.DateLastRefreshed);
|
dtoOptions.Fields.Remove(ItemFields.DateLastRefreshed);
|
||||||
dtoOptions.Fields.Remove(ItemFields.DateLastSaved);
|
dtoOptions.Fields.Remove(ItemFields.DateLastSaved);
|
||||||
dtoOptions.Fields.Remove(ItemFields.DisplayMediaType);
|
|
||||||
dtoOptions.Fields.Remove(ItemFields.DisplayPreferencesId);
|
dtoOptions.Fields.Remove(ItemFields.DisplayPreferencesId);
|
||||||
dtoOptions.Fields.Remove(ItemFields.Etag);
|
dtoOptions.Fields.Remove(ItemFields.Etag);
|
||||||
dtoOptions.Fields.Remove(ItemFields.ExternalEtag);
|
dtoOptions.Fields.Remove(ItemFields.ExternalEtag);
|
||||||
|
|
|
@ -852,6 +852,8 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
|
|
||||||
public async Task<object> Post(AddTunerHost request)
|
public async Task<object> Post(AddTunerHost request)
|
||||||
{
|
{
|
||||||
|
request.EnableNewHdhrChannelIds = true;
|
||||||
|
|
||||||
var result = await _liveTvManager.SaveTunerHost(request).ConfigureAwait(false);
|
var result = await _liveTvManager.SaveTunerHost(request).ConfigureAwait(false);
|
||||||
return ToOptimizedResult(result);
|
return ToOptimizedResult(result);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1246,6 +1246,7 @@ namespace MediaBrowser.Controller.Entities
|
||||||
/// Gets or sets the provider ids.
|
/// Gets or sets the provider ids.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value>The provider ids.</value>
|
/// <value>The provider ids.</value>
|
||||||
|
[IgnoreDataMember]
|
||||||
public Dictionary<string, string> ProviderIds { get; set; }
|
public Dictionary<string, string> ProviderIds { get; set; }
|
||||||
|
|
||||||
[IgnoreDataMember]
|
[IgnoreDataMember]
|
||||||
|
|
|
@ -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]
|
[IgnoreDataMember]
|
||||||
public override bool SupportsPositionTicksResume
|
public override bool SupportsPositionTicksResume
|
||||||
{
|
{
|
||||||
|
|
|
@ -47,6 +47,7 @@ namespace MediaBrowser.Model.LiveTv
|
||||||
public bool ImportFavoritesOnly { get; set; }
|
public bool ImportFavoritesOnly { get; set; }
|
||||||
public bool AllowHWTranscoding { get; set; }
|
public bool AllowHWTranscoding { get; set; }
|
||||||
public bool EnableStreamLooping { get; set; }
|
public bool EnableStreamLooping { get; set; }
|
||||||
|
public bool EnableNewHdhrChannelIds { get; set; }
|
||||||
|
|
||||||
public TunerHostInfo()
|
public TunerHostInfo()
|
||||||
{
|
{
|
||||||
|
|
|
@ -62,11 +62,6 @@
|
||||||
/// </summary>
|
/// </summary>
|
||||||
DisplayPreferencesId,
|
DisplayPreferencesId,
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The display media type
|
|
||||||
/// </summary>
|
|
||||||
DisplayMediaType,
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The etag
|
/// The etag
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -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)
|
if (mergeMetadataSettings)
|
||||||
{
|
{
|
||||||
MergeMetadataSettings(source, target);
|
MergeMetadataSettings(source, target);
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("3.2.27.1")]
|
[assembly: AssemblyVersion("3.2.27.2")]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user