encode with qsv

This commit is contained in:
Luke Pulverenti
2015-11-06 10:02:22 -05:00
parent 6aa3313bc0
commit ce34c35b94
43 changed files with 317 additions and 226 deletions

View File

@@ -18,9 +18,9 @@ namespace MediaBrowser.Controller.Channels
public List<ChannelMediaInfo> ChannelMediaSources { get; set; }
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.ChannelContent);
return UnratedItem.ChannelContent;
}
protected override string CreateUserDataKey()

View File

@@ -6,6 +6,7 @@ using System;
using System.Runtime.Serialization;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Channels
@@ -20,6 +21,11 @@ namespace MediaBrowser.Controller.Channels
return false;
}
public override UnratedItem GetBlockUnratedType()
{
return UnratedItem.ChannelContent;
}
[IgnoreDataMember]
public override bool SupportsLocalMetadata
{

View File

@@ -42,9 +42,9 @@ namespace MediaBrowser.Controller.Channels
return ExternalId;
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.ChannelContent);
return UnratedItem.ChannelContent;
}
[IgnoreDataMember]

View File

@@ -171,9 +171,9 @@ namespace MediaBrowser.Controller.Entities.Audio
return base.CreateUserDataKey();
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.Music);
return UnratedItem.Music;
}
public SongInfo GetLookupInfo()

View File

@@ -110,6 +110,11 @@ namespace MediaBrowser.Controller.Entities.Audio
return config.BlockUnratedItems.Contains(UnratedItem.Music);
}
public override UnratedItem GetBlockUnratedType()
{
return UnratedItem.Music;
}
public AlbumInfo GetLookupInfo()
{
var id = GetItemLookupInfo<AlbumInfo>();

View File

@@ -138,6 +138,11 @@ namespace MediaBrowser.Controller.Entities.Audio
return config.BlockUnratedItems.Contains(UnratedItem.Music);
}
public override UnratedItem GetBlockUnratedType()
{
return UnratedItem.Music;
}
public async Task RefreshAllMetadata(MetadataRefreshOptions refreshOptions, IProgress<double> progress, CancellationToken cancellationToken)
{
var items = GetRecursiveChildren().ToList();

View File

@@ -690,10 +690,25 @@ namespace MediaBrowser.Controller.Entities
[IgnoreDataMember]
public int? ParentIndexNumber { get; set; }
[IgnoreDataMember]
public virtual string OfficialRatingForComparison
public virtual string GetOfficialRatingForComparison(bool inherit)
{
get { return OfficialRating; }
if (inherit)
{
if (!string.IsNullOrWhiteSpace(OfficialRating))
{
return OfficialRating;
}
var parent = DisplayParent;
if (parent != null)
{
return parent.GetOfficialRatingForComparison(inherit);
}
return null;
}
return OfficialRating;
}
[IgnoreDataMember]
@@ -1126,7 +1141,7 @@ namespace MediaBrowser.Controller.Entities
if (string.IsNullOrWhiteSpace(rating))
{
rating = OfficialRatingForComparison;
rating = GetOfficialRatingForComparison(true);
}
if (string.IsNullOrWhiteSpace(rating))
@@ -1175,7 +1190,7 @@ namespace MediaBrowser.Controller.Entities
if (string.IsNullOrWhiteSpace(rating))
{
rating = OfficialRatingForComparison;
rating = GetOfficialRatingForComparison(true);
}
if (string.IsNullOrWhiteSpace(rating))
@@ -1207,6 +1222,11 @@ namespace MediaBrowser.Controller.Entities
return true;
}
public virtual UnratedItem GetBlockUnratedType()
{
return UnratedItem.Other;
}
/// <summary>
/// Gets the block unrated value.
/// </summary>
@@ -1225,7 +1245,7 @@ namespace MediaBrowser.Controller.Entities
return false;
}
return config.BlockUnratedItems.Contains(UnratedItem.Other);
return config.BlockUnratedItems.Contains(GetBlockUnratedType());
}
/// <summary>

View File

@@ -26,9 +26,9 @@ namespace MediaBrowser.Controller.Entities
locationType != LocationType.Virtual;
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.Book);
return UnratedItem.Book;
}
public BookInfo GetLookupInfo()

View File

@@ -202,21 +202,6 @@ namespace MediaBrowser.Controller.Entities
}
}
[IgnoreDataMember]
public override string OfficialRatingForComparison
{
get
{
// Never want folders to be blocked by "BlockNotRated"
if (this is Series)
{
return base.OfficialRatingForComparison;
}
return !string.IsNullOrWhiteSpace(base.OfficialRatingForComparison) ? base.OfficialRatingForComparison : "None";
}
}
/// <summary>
/// Removes the child.
/// </summary>
@@ -1190,7 +1175,8 @@ namespace MediaBrowser.Controller.Entities
{
User = user,
Recursive = true,
IsFolder = false
IsFolder = false,
IsMissing = false
}).ConfigureAwait(false);

View File

@@ -98,9 +98,9 @@ namespace MediaBrowser.Controller.Entities
return base.GetDeletePaths();
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.Game);
return UnratedItem.Game;
}
public GameInfo GetLookupInfo()

View File

@@ -50,6 +50,11 @@ namespace MediaBrowser.Controller.Entities
return false;
}
public override UnratedItem GetBlockUnratedType()
{
return UnratedItem.Game;
}
public GameSystemInfo GetLookupInfo()
{
var id = GetItemLookupInfo<GameSystemInfo>();

View File

@@ -1,6 +1,7 @@
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Configuration;
namespace MediaBrowser.Controller.Entities
{
@@ -69,8 +70,10 @@ namespace MediaBrowser.Controller.Entities
public string[] Studios { get; set; }
public string[] StudioIds { get; set; }
public string[] GenreIds { get; set; }
public ImageType[] ImageTypes { get; set; }
public VideoType[] VideoTypes { get; set; }
public UnratedItem[] BlockUnratedItems { get; set; }
public int[] Years { get; set; }
public string[] Tags { get; set; }
public string[] OfficialRatings { get; set; }
@@ -108,6 +111,7 @@ namespace MediaBrowser.Controller.Entities
public InternalItemsQuery()
{
BlockUnratedItems = new UnratedItem[] { };
Tags = new string[] { };
OfficialRatings = new string[] { };
SortBy = new string[] { };
@@ -117,6 +121,7 @@ namespace MediaBrowser.Controller.Entities
Genres = new string[] { };
Studios = new string[] { };
StudioIds = new string[] { };
GenreIds = new string[] { };
ImageTypes = new ImageType[] { };
VideoTypes = new VideoType[] { };
Years = new int[] { };

View File

@@ -65,6 +65,11 @@ namespace MediaBrowser.Controller.Entities.Movies
return config.BlockUnratedItems.Contains(UnratedItem.Movie);
}
public override UnratedItem GetBlockUnratedType()
{
return UnratedItem.Movie;
}
[IgnoreDataMember]
public override bool IsPreSorted
{

View File

@@ -159,9 +159,9 @@ namespace MediaBrowser.Controller.Entities.Movies
return itemsChanged;
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.Movie);
return UnratedItem.Movie;
}
public MovieInfo GetLookupInfo()

View File

@@ -56,9 +56,9 @@ namespace MediaBrowser.Controller.Entities
return this.GetProviderId(MetadataProviders.Tmdb) ?? this.GetProviderId(MetadataProviders.Imdb) ?? base.CreateUserDataKey();
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.Music);
return UnratedItem.Music;
}
public MusicVideoInfo GetLookupInfo()

View File

@@ -68,10 +68,5 @@ namespace MediaBrowser.Controller.Entities
public double? Longitude { get; set; }
public double? Altitude { get; set; }
public int? IsoSpeedRating { get; set; }
protected override bool GetBlockUnratedValue(UserPolicy config)
{
return config.BlockUnratedItems.Contains(UnratedItem.Other);
}
}
}

View File

@@ -115,19 +115,6 @@ namespace MediaBrowser.Controller.Entities.TV
return base.CreateUserDataKey();
}
/// <summary>
/// Our rating comes from our series
/// </summary>
[IgnoreDataMember]
public override string OfficialRatingForComparison
{
get
{
var series = Series;
return series != null ? series.OfficialRatingForComparison : base.OfficialRatingForComparison;
}
}
/// <summary>
/// This Episode's Series Instance
/// </summary>
@@ -284,9 +271,9 @@ namespace MediaBrowser.Controller.Entities.TV
return new[] { Path };
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.Series);
return UnratedItem.Series;
}
public EpisodeInfo GetLookupInfo()

View File

@@ -6,6 +6,7 @@ using MoreLinq;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using MediaBrowser.Model.Configuration;
namespace MediaBrowser.Controller.Entities.TV
{
@@ -87,19 +88,6 @@ namespace MediaBrowser.Controller.Entities.TV
}
}
/// <summary>
/// Our rating comes from our series
/// </summary>
[IgnoreDataMember]
public override string OfficialRatingForComparison
{
get
{
var series = Series;
return series != null ? series.OfficialRatingForComparison : base.OfficialRatingForComparison;
}
}
/// <summary>
/// Creates the name of the sort.
/// </summary>
@@ -234,6 +222,11 @@ namespace MediaBrowser.Controller.Entities.TV
return false;
}
public override UnratedItem GetBlockUnratedType()
{
return UnratedItem.Series;
}
[IgnoreDataMember]
public string SeriesName
{

View File

@@ -333,6 +333,11 @@ namespace MediaBrowser.Controller.Entities.TV
return config.BlockUnratedItems.Contains(UnratedItem.Series);
}
public override UnratedItem GetBlockUnratedType()
{
return UnratedItem.Series;
}
public SeriesInfo GetLookupInfo()
{
var info = GetItemLookupInfo<SeriesInfo>();

View File

@@ -97,9 +97,9 @@ namespace MediaBrowser.Controller.Entities
return base.CreateUserDataKey();
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.Trailer);
return UnratedItem.Trailer;
}
public TrailerInfo GetLookupInfo()

View File

@@ -1057,6 +1057,11 @@ namespace MediaBrowser.Controller.Entities
return false;
}
if (request.GenreIds.Length > 0)
{
return false;
}
if (request.VideoTypes.Length > 0)
{
return false;
@@ -1653,6 +1658,16 @@ namespace MediaBrowser.Controller.Entities
return false;
}
// Apply genre filter
if (query.GenreIds.Length > 0 && !query.GenreIds.Any(id =>
{
var genreItem = libraryManager.GetItemById(id);
return genreItem != null && item.Genres.Contains(genreItem.Name, StringComparer.OrdinalIgnoreCase);
}))
{
return false;
}
// Apply year filter
if (query.Years.Length > 0)
{

View File

@@ -105,9 +105,9 @@ namespace MediaBrowser.Controller.LiveTv
}
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.LiveTvProgram);
return UnratedItem.LiveTvProgram;
}
protected override string GetInternalMetadataPath(string basePath)

View File

@@ -22,9 +22,9 @@ namespace MediaBrowser.Controller.LiveTv
return GetClientTypeName() + "-" + Name;
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.LiveTvChannel);
return UnratedItem.LiveTvChannel;
}
/// <summary>

View File

@@ -170,9 +170,9 @@ namespace MediaBrowser.Controller.LiveTv
return "Program";
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.LiveTvProgram);
return UnratedItem.LiveTvProgram;
}
protected override string GetInternalMetadataPath(string basePath)

View File

@@ -115,9 +115,9 @@ namespace MediaBrowser.Controller.LiveTv
}
}
protected override bool GetBlockUnratedValue(UserPolicy config)
public override UnratedItem GetBlockUnratedType()
{
return config.BlockUnratedItems.Contains(UnratedItem.LiveTvProgram);
return UnratedItem.LiveTvProgram;
}
protected override string GetInternalMetadataPath(string basePath)

View File

@@ -1,4 +1,5 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Users;
namespace MediaBrowser.Controller.LiveTv
@@ -11,6 +12,11 @@ namespace MediaBrowser.Controller.LiveTv
return false;
}
public override UnratedItem GetBlockUnratedType()
{
return UnratedItem.LiveTvProgram;
}
public override bool SupportsLocalMetadata
{
get