diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-06-03 03:37:25 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-06-03 03:37:25 -0400 |
| commit | 69f00aef741b27b352eab94b5a059f5fd92a6160 (patch) | |
| tree | acbd6cee9beb5f38a4c21e8cdd485cee2a5f6f7c /Emby.Server.Implementations | |
| parent | b54b7871e39e197d4af19a6c502938fa6178c4fa (diff) | |
| parent | 7fbea5d96d9df7b5e487c534ad5c37d54d2105ea (diff) | |
Merge pull request #2687 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations')
12 files changed, 41 insertions, 92 deletions
diff --git a/Emby.Server.Implementations/Channels/ChannelManager.cs b/Emby.Server.Implementations/Channels/ChannelManager.cs index 809771b04..66ec57dba 100644 --- a/Emby.Server.Implementations/Channels/ChannelManager.cs +++ b/Emby.Server.Implementations/Channels/ChannelManager.cs @@ -1378,12 +1378,6 @@ namespace Emby.Server.Implementations.Channels item.SetImagePath(ImageType.Primary, info.ImageUrl); } - if (item.SourceType != SourceType.Channel) - { - item.SourceType = SourceType.Channel; - forceUpdate = true; - } - if (isNew) { await _libraryManager.CreateItem(item, cancellationToken).ConfigureAwait(false); diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index 49ba6c9f3..df3cecbf9 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -199,10 +199,11 @@ namespace Emby.Server.Implementations.Data AddColumn(db, "TypedBaseItems", "ParentId", "GUID", existingColumnNames); AddColumn(db, "TypedBaseItems", "Genres", "Text", existingColumnNames); AddColumn(db, "TypedBaseItems", "SortName", "Text", existingColumnNames); + AddColumn(db, "TypedBaseItems", "ForcedSortName", "Text", existingColumnNames); + AddColumn(db, "TypedBaseItems", "RunTimeTicks", "BIGINT", existingColumnNames); AddColumn(db, "TypedBaseItems", "HomePageUrl", "Text", existingColumnNames); - AddColumn(db, "TypedBaseItems", "VoteCount", "INT", existingColumnNames); AddColumn(db, "TypedBaseItems", "DisplayMediaType", "Text", existingColumnNames); AddColumn(db, "TypedBaseItems", "DateCreated", "DATETIME", existingColumnNames); AddColumn(db, "TypedBaseItems", "DateModified", "DATETIME", existingColumnNames); @@ -233,7 +234,6 @@ namespace Emby.Server.Implementations.Data AddColumn(db, "TypedBaseItems", "UnratedType", "Text", existingColumnNames); AddColumn(db, "TypedBaseItems", "TopParentId", "Text", existingColumnNames); AddColumn(db, "TypedBaseItems", "IsItemByName", "BIT", existingColumnNames); - AddColumn(db, "TypedBaseItems", "SourceType", "Text", existingColumnNames); AddColumn(db, "TypedBaseItems", "TrailerTypes", "Text", existingColumnNames); AddColumn(db, "TypedBaseItems", "CriticRating", "Float", existingColumnNames); AddColumn(db, "TypedBaseItems", "InheritedTags", "Text", existingColumnNames); @@ -424,9 +424,8 @@ namespace Emby.Server.Implementations.Data "OfficialRating", "HomePageUrl", "DisplayMediaType", - "SortName", + "ForcedSortName", "RunTimeTicks", - "VoteCount", "DateCreated", "DateModified", "guid", @@ -439,7 +438,6 @@ namespace Emby.Server.Implementations.Data "LockedFields", "Studios", "Tags", - "SourceType", "TrailerTypes", "OriginalTitle", "PrimaryVersionId", @@ -541,9 +539,9 @@ namespace Emby.Server.Implementations.Data "Genres", "InheritedParentalRatingValue", "SortName", + "ForcedSortName", "RunTimeTicks", "HomePageUrl", - "VoteCount", "DisplayMediaType", "DateCreated", "DateModified", @@ -563,7 +561,6 @@ namespace Emby.Server.Implementations.Data "UnratedType", "TopParentId", "IsItemByName", - "SourceType", "TrailerTypes", "CriticRating", "InheritedTags", @@ -815,10 +812,12 @@ namespace Emby.Server.Implementations.Data saveItemStatement.TryBind("@InheritedParentalRatingValue", item.InheritedParentalRatingValue); saveItemStatement.TryBind("@SortName", item.SortName); + + saveItemStatement.TryBind("@ForcedSortName", item.ForcedSortName); + saveItemStatement.TryBind("@RunTimeTicks", item.RunTimeTicks); saveItemStatement.TryBind("@HomePageUrl", item.HomePageUrl); - saveItemStatement.TryBind("@VoteCount", item.VoteCount); saveItemStatement.TryBind("@DisplayMediaType", item.DisplayMediaType); saveItemStatement.TryBind("@DateCreated", item.DateCreated); saveItemStatement.TryBind("@DateModified", item.DateModified); @@ -909,7 +908,6 @@ namespace Emby.Server.Implementations.Data isByName = dualAccess == null || dualAccess.IsAccessedByName; } saveItemStatement.TryBind("@IsItemByName", isByName); - saveItemStatement.TryBind("@SourceType", item.SourceType.ToString()); var trailer = item as Trailer; if (trailer != null && trailer.TrailerTypes.Count > 0) @@ -1624,7 +1622,7 @@ namespace Emby.Server.Implementations.Data { if (!reader.IsDBNull(index)) { - item.SortName = reader.GetString(index); + item.ForcedSortName = reader.GetString(index); } index++; } @@ -1635,15 +1633,6 @@ namespace Emby.Server.Implementations.Data } index++; - if (HasField(query, ItemFields.VoteCount)) - { - if (!reader.IsDBNull(index)) - { - item.VoteCount = reader.GetInt32(index); - } - index++; - } - if (HasField(query, ItemFields.DateCreated)) { if (!reader.IsDBNull(index)) @@ -1733,12 +1722,6 @@ namespace Emby.Server.Implementations.Data index++; } - if (!reader.IsDBNull(index)) - { - item.SourceType = (SourceType)Enum.Parse(typeof(SourceType), reader.GetString(index), true); - } - index++; - if (hasTrailerTypes) { var trailer = item as Trailer; @@ -2283,7 +2266,7 @@ namespace Emby.Server.Implementations.Data } if (field == ItemFields.SortName) { - return new[] { "SortName" }; + return new[] { "ForcedSortName" }; } if (field == ItemFields.Taglines) { @@ -2306,7 +2289,6 @@ namespace Emby.Server.Implementations.Data case ItemFields.HomePageUrl: case ItemFields.Keywords: case ItemFields.DisplayMediaType: - case ItemFields.VoteCount: case ItemFields.CustomRating: case ItemFields.ProductionLocations: case ItemFields.Settings: @@ -3872,34 +3854,6 @@ namespace Emby.Server.Implementations.Data } } - if (query.SourceTypes.Length == 1) - { - whereClauses.Add("SourceType=@SourceType"); - if (statement != null) - { - statement.TryBind("@SourceType", query.SourceTypes[0].ToString()); - } - } - else if (query.SourceTypes.Length > 1) - { - var inClause = string.Join(",", query.SourceTypes.Select(i => "'" + i + "'").ToArray()); - whereClauses.Add(string.Format("SourceType in ({0})", inClause)); - } - - if (query.ExcludeSourceTypes.Length == 1) - { - whereClauses.Add("SourceType<>@ExcludeSourceTypes"); - if (statement != null) - { - statement.TryBind("@ExcludeSourceTypes", query.ExcludeSourceTypes[0].ToString()); - } - } - else if (query.ExcludeSourceTypes.Length > 1) - { - var inClause = string.Join(",", query.ExcludeSourceTypes.Select(i => "'" + i + "'").ToArray()); - whereClauses.Add(string.Format("SourceType not in ({0})", inClause)); - } - if (query.TrailerTypes.Length > 0) { var clauses = new List<string>(); @@ -5017,14 +4971,6 @@ namespace Emby.Server.Implementations.Data statement.TryBind("@NameContains", "%" + query.NameContains + "%"); } } - if (query.SourceTypes.Length == 1) - { - whereClauses.Add("(select sourcetype from typedbaseitems where guid=ItemId) = @SourceTypes"); - if (statement != null) - { - statement.TryBind("@SourceTypes", query.SourceTypes[0].ToString()); - } - } return whereClauses; } diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index 45fbd69dc..58621f8c1 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -1058,11 +1058,6 @@ namespace Emby.Server.Implementations.Dto dto.CommunityRating = item.CommunityRating; } - if (fields.Contains(ItemFields.VoteCount)) - { - dto.VoteCount = item.VoteCount; - } - //if (item.IsFolder) //{ // var folder = (Folder)item; diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj index 14d976325..df70680f1 100644 --- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj +++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj @@ -31,6 +31,9 @@ <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> + <Compile Include="..\SharedVersion.cs"> + <Link>Properties\SharedVersion.cs</Link> + </Compile> <Compile Include="Activity\ActivityLogEntryPoint.cs" /> <Compile Include="Activity\ActivityManager.cs" /> <Compile Include="Activity\ActivityRepository.cs" /> diff --git a/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs b/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs index 54f9ca392..961f9886c 100644 --- a/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs +++ b/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs @@ -38,7 +38,10 @@ namespace Emby.Server.Implementations.Library // Synology "@eaDir", "eaDir", - "#recycle" + "#recycle", + + // Qnap + "@Recycle" }; diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index 42eda00b7..a08c74474 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -1292,7 +1292,7 @@ namespace Emby.Server.Implementations.Library return item; } - public IEnumerable<BaseItem> GetItemList(InternalItemsQuery query) + public IEnumerable<BaseItem> GetItemList(InternalItemsQuery query, bool allowExternalContent) { if (query.Recursive && query.ParentId.HasValue) { @@ -1305,12 +1305,17 @@ namespace Emby.Server.Implementations.Library if (query.User != null) { - AddUserToQuery(query, query.User); + AddUserToQuery(query, query.User, allowExternalContent); } return ItemRepository.GetItemList(query); } + public IEnumerable<BaseItem> GetItemList(InternalItemsQuery query) + { + return GetItemList(query, true); + } + public int GetCount(InternalItemsQuery query) { if (query.Recursive && query.ParentId.HasValue) @@ -1548,7 +1553,7 @@ namespace Emby.Server.Implementations.Library query.Parent = null; } - private void AddUserToQuery(InternalItemsQuery query, User user) + private void AddUserToQuery(InternalItemsQuery query, User user, bool allowExternalContent = true) { if (query.AncestorIds.Length == 0 && !query.ParentId.HasValue && @@ -1561,7 +1566,8 @@ namespace Emby.Server.Implementations.Library var userViews = _userviewManager().GetUserViews(new UserViewQuery { UserId = user.Id.ToString("N"), - IncludeHidden = true + IncludeHidden = true, + IncludeExternalContent = allowExternalContent }, CancellationToken.None).Result.ToList(); diff --git a/Emby.Server.Implementations/Library/UserViewManager.cs b/Emby.Server.Implementations/Library/UserViewManager.cs index f403ca266..a6ed84f29 100644 --- a/Emby.Server.Implementations/Library/UserViewManager.cs +++ b/Emby.Server.Implementations/Library/UserViewManager.cs @@ -280,7 +280,7 @@ namespace Emby.Server.Implementations.Library } : new string[] { }; - return _libraryManager.GetItemList(new InternalItemsQuery(user) + var query = new InternalItemsQuery(user) { IncludeItemTypes = includeItemTypes, SortOrder = SortOrder.Descending, @@ -289,11 +289,16 @@ namespace Emby.Server.Implementations.Library ExcludeItemTypes = excludeItemTypes, IsVirtualItem = false, Limit = limit * 5, - SourceTypes = parents.Count == 0 ? new[] { SourceType.Library } : new SourceType[] { }, IsPlayed = isPlayed, DtoOptions = options + }; - }, parents); + if (parents.Count == 0) + { + return _libraryManager.GetItemList(query, false); + } + + return _libraryManager.GetItemList(query, parents); } } } diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index 6ce2b88f1..a4c5b338e 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -2270,11 +2270,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV writer.WriteElementString("studio", studio); } - if (item.VoteCount.HasValue) - { - writer.WriteElementString("votes", item.VoteCount.Value.ToString(CultureInfo.InvariantCulture)); - } - writer.WriteEndElement(); writer.WriteEndDocument(); } diff --git a/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs b/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs index d56ddc57d..12da1464b 100644 --- a/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs +++ b/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs @@ -16,7 +16,7 @@ namespace Emby.Server.Implementations.LiveTv private readonly IMediaEncoder _mediaEncoder; private readonly ILogger _logger; - const int AnalyzeDurationMs = 2000; + const int AnalyzeDurationMs = 1000; public LiveStreamHelper(IMediaEncoder mediaEncoder, ILogger logger) { diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs index 2afc3744f..153f86aed 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs @@ -422,6 +422,8 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun SupportsTranscoding = true, IsInfiniteStream = true, IgnoreDts = true, + //SupportsProbing = false, + //AnalyzeDurationMs = 2000000 //IgnoreIndex = true, //ReadAtNativeFramerate = true }; diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs index 90bbaaf3d..d2e9c8bf0 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs @@ -117,7 +117,9 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun } else { - await _multicastStream.CopyUntilCancelled(response.Content, () => Resolve(openTaskCompletionSource), cancellationToken).ConfigureAwait(false); + Resolve(openTaskCompletionSource); + + await _multicastStream.CopyUntilCancelled(response.Content, null, cancellationToken).ConfigureAwait(false); } } } diff --git a/Emby.Server.Implementations/Properties/AssemblyInfo.cs b/Emby.Server.Implementations/Properties/AssemblyInfo.cs index ed7f9631f..28ffcbac6 100644 --- a/Emby.Server.Implementations/Properties/AssemblyInfo.cs +++ b/Emby.Server.Implementations/Properties/AssemblyInfo.cs @@ -25,6 +25,4 @@ using System.Runtime.InteropServices; // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +// [assembly: AssemblyVersion("1.0.*")]
\ No newline at end of file |
