diff options
| author | Michalis Adamidis <gsnerf@gsnerf.de> | 2014-08-06 21:06:34 +0200 |
|---|---|---|
| committer | Michalis Adamidis <gsnerf@gsnerf.de> | 2014-08-06 21:06:34 +0200 |
| commit | b957e7c7b91257d7f33f9890b9a14445a80164ea (patch) | |
| tree | 3a6082b1bdf717d0f28ef96f14a70c1265071ac4 /MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs | |
| parent | 7994f0dcd9082cc657e07dbff6ecc4e638f1f527 (diff) | |
| parent | 284bd3e9f562ae499ad8d8b778392196ac99ed3a (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs')
| -rw-r--r-- | MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs index 4eb6baeed..05d822185 100644 --- a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs +++ b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs @@ -183,19 +183,34 @@ namespace MediaBrowser.Dlna.ContentDirectory //didl.SetAttribute("xmlns:sec", NS_SEC); result.AppendChild(didl); - var folder = (Folder)GetItemFromObjectId(id, user); - - var childrenResult = (await GetChildrenSorted(folder, user, sortCriteria, start, requested).ConfigureAwait(false)); + var item = GetItemFromObjectId(id, user); - var totalCount = childrenResult.TotalRecordCount; + var totalCount = 0; if (string.Equals(flag, "BrowseMetadata")) { - result.DocumentElement.AppendChild(_didlBuilder.GetFolderElement(result, folder, totalCount, filter)); + var folder = item as Folder; + + if (folder == null) + { + result.DocumentElement.AppendChild(_didlBuilder.GetItemElement(result, item, deviceId, filter)); + } + else + { + var childrenResult = (await GetChildrenSorted(folder, user, sortCriteria, start, requested).ConfigureAwait(false)); + totalCount = childrenResult.TotalRecordCount; + + result.DocumentElement.AppendChild(_didlBuilder.GetFolderElement(result, folder, totalCount, filter)); + } provided++; } else { + var folder = (Folder)item; + + var childrenResult = (await GetChildrenSorted(folder, user, sortCriteria, start, requested).ConfigureAwait(false)); + totalCount = childrenResult.TotalRecordCount; + provided = childrenResult.Items.Length; foreach (var i in childrenResult.Items) |
