Merge remote-tracking branch 'upstream/master' into security-path-traversal-fixes
# Conflicts: # Jellyfin.Api/Controllers/HlsSegmentController.cs # Jellyfin.Api/Controllers/PluginsController.cs
This commit is contained in:
@@ -81,13 +81,6 @@ namespace MediaBrowser.Controller.Dto
|
||||
/// </summary>
|
||||
public bool AddCurrentProgram { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether an episode's portrait poster (its season's primary
|
||||
/// image, falling back to the series') should replace the episode's own (16:9) primary image.
|
||||
/// Used by views that render episodes as poster cards, e.g. "Latest".
|
||||
/// </summary>
|
||||
public bool PreferEpisodeParentPoster { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the specified field is populated.
|
||||
/// </summary>
|
||||
|
||||
@@ -13,11 +13,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
[Common.RequiresSourceSerialisation]
|
||||
public class Book : BaseItem, IHasLookupInfo<BookInfo>, IHasSeries
|
||||
{
|
||||
public Book()
|
||||
{
|
||||
this.RunTimeTicks = TimeSpan.TicksPerSecond;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public override MediaType MediaType => MediaType.Book;
|
||||
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
#nullable disable
|
||||
|
||||
#pragma warning disable CS1591
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface for items that have special features.
|
||||
/// </summary>
|
||||
public interface IHasSpecialFeatures
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
#pragma warning disable CS1591
|
||||
|
||||
using System;
|
||||
|
||||
namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface for items that have a start date.
|
||||
/// </summary>
|
||||
public interface IHasStartDate
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the start date.
|
||||
/// </summary>
|
||||
DateTime StartDate { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,28 @@
|
||||
#pragma warning disable CS1591
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Marker interface.
|
||||
/// Marker interface for items that represent a name, like a genre or a studio.
|
||||
/// </summary>
|
||||
public interface IItemByName
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the items tagged with this name.
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>The tagged items.</returns>
|
||||
IReadOnlyList<BaseItem> GetTaggedItems(InternalItemsQuery query);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interface for by-name items that can also be accessed as a regular library item.
|
||||
/// </summary>
|
||||
public interface IHasDualAccess : IItemByName
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the item is accessed by name.
|
||||
/// </summary>
|
||||
bool IsAccessedByName { get; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#pragma warning disable CS1591
|
||||
|
||||
namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface for items that can be placeholders.
|
||||
/// </summary>
|
||||
public interface ISupportsPlaceHolders
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json.Serialization;
|
||||
using Jellyfin.Database.Implementations.Entities;
|
||||
using Jellyfin.Extensions;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using Microsoft.Extensions.Logging;
|
||||
@@ -75,6 +76,16 @@ namespace MediaBrowser.Controller.Entities
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <remarks>
|
||||
/// People don't carry the tags of the media they appear in, so the allowed tags check
|
||||
/// is skipped for them; otherwise no person would be visible to users with allowed tags configured.
|
||||
/// </remarks>
|
||||
public override bool IsVisible(User user, bool skipAllowedTagsCheck = false)
|
||||
{
|
||||
return base.IsVisible(user, true);
|
||||
}
|
||||
|
||||
public override bool IsSaveLocalMetadataEnabled()
|
||||
{
|
||||
return true;
|
||||
|
||||
@@ -1,11 +1,23 @@
|
||||
#pragma warning disable CS1591
|
||||
|
||||
namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// The source of an item.
|
||||
/// </summary>
|
||||
public enum SourceType
|
||||
{
|
||||
/// <summary>
|
||||
/// The item comes from a library.
|
||||
/// </summary>
|
||||
Library = 0,
|
||||
|
||||
/// <summary>
|
||||
/// The item comes from a channel.
|
||||
/// </summary>
|
||||
Channel = 1,
|
||||
|
||||
/// <summary>
|
||||
/// The item comes from live TV.
|
||||
/// </summary>
|
||||
LiveTV = 2
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4054,7 +4054,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
mainFilters.Add(swDeintFilter);
|
||||
}
|
||||
|
||||
var outFormat = doCuTonemap ? "yuv420p10le" : "yuv420p";
|
||||
var outFormat = doCuTonemap ? "p010le" : "yuv420p";
|
||||
var swScaleFilter = GetSwScaleFilter(state, options, vidEncoder, swpInW, swpInH, threeDFormat, reqW, reqH, reqMaxW, reqMaxH);
|
||||
// sw scale
|
||||
mainFilters.Add(swScaleFilter);
|
||||
|
||||
Reference in New Issue
Block a user