diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-06-30 10:50:08 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-06-30 10:50:08 -0400 |
| commit | b445948ebf9690248d9d6c5d8c019531ab91f895 (patch) | |
| tree | 4ba2ac0068e7d584e043eb2ddb052299b3c74fcc | |
| parent | d24fe143f62f6937c0566a1b6cb91875ab8c3a4b (diff) | |
fix dlna latest lists
3 files changed, 28 insertions, 10 deletions
diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs index ce1e9fd7f..5c70179a8 100644 --- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs +++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs @@ -128,11 +128,6 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager private void AddIpv4Option(HttpWebRequest request, HttpRequestOptions options) { - if (!options.PreferIpv4) - { - return; - } - request.ServicePoint.BindIPEndPointDelegate = (servicePount, remoteEndPoint, retryCount) => { if (remoteEndPoint.AddressFamily == AddressFamily.InterNetwork) @@ -150,7 +145,10 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager if (httpWebRequest != null) { - AddIpv4Option(httpWebRequest, options); + if (options.PreferIpv4) + { + AddIpv4Option(httpWebRequest, options); + } AddRequestHeaders(httpWebRequest, options); diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 0cb806274..175a7240c 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -550,7 +550,7 @@ namespace MediaBrowser.Controller.Entities query.Limit = GetSpecialItemsLimit(); query.IncludeItemTypes = new[] { typeof(Movie).Name }; - return _libraryManager.GetItemsResult(query); + return ConvertToResult(_libraryManager.GetItemList(query)); } private QueryResult<BaseItem> GetMovieResume(Folder parent, User user, InternalItemsQuery query) @@ -564,7 +564,17 @@ namespace MediaBrowser.Controller.Entities query.Limit = GetSpecialItemsLimit(); query.IncludeItemTypes = new[] { typeof(Movie).Name }; - return _libraryManager.GetItemsResult(query); + return ConvertToResult(_libraryManager.GetItemList(query)); + } + + private QueryResult<BaseItem> ConvertToResult(IEnumerable<BaseItem> items) + { + var arr = items.ToArray(); + return new QueryResult<BaseItem> + { + Items = arr, + TotalRecordCount = arr.Length + }; } private async Task<QueryResult<BaseItem>> GetMovieGenres(Folder parent, User user, InternalItemsQuery query) @@ -667,7 +677,7 @@ namespace MediaBrowser.Controller.Entities query.IncludeItemTypes = new[] { typeof(Episode).Name }; query.ExcludeLocationTypes = new[] { LocationType.Virtual }; - return _libraryManager.GetItemsResult(query); + return ConvertToResult(_libraryManager.GetItemList(query)); } private QueryResult<BaseItem> GetTvNextUp(Folder parent, InternalItemsQuery query) @@ -696,7 +706,7 @@ namespace MediaBrowser.Controller.Entities query.Limit = GetSpecialItemsLimit(); query.IncludeItemTypes = new[] { typeof(Episode).Name }; - return _libraryManager.GetItemsResult(query); + return ConvertToResult(_libraryManager.GetItemList(query)); } private QueryResult<BaseItem> GetTvSeries(Folder parent, User user, InternalItemsQuery query) diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index ffcf9f60f..d89895b47 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -1277,6 +1277,16 @@ namespace MediaBrowser.Server.Implementations.Library public IEnumerable<BaseItem> GetItemList(InternalItemsQuery query) { + if (query.Recursive && query.ParentId.HasValue) + { + var parent = GetItemById(query.ParentId.Value); + if (parent != null) + { + SetTopParentIdsOrAncestors(query, new List<BaseItem> { parent }); + query.ParentId = null; + } + } + if (query.User != null) { AddUserToQuery(query, query.User); |
