aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Dlna/Server/ControlHandler.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-04-19 13:43:12 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-04-19 13:43:12 -0400
commit13509c1d8d877b5a033d0bb45d347ba8564e8102 (patch)
tree914ea876395390c1f95de0c2351daa5b9b44127c /MediaBrowser.Dlna/Server/ControlHandler.cs
parent5170042eb5efee7be005dcc5aca863b66c23a6f2 (diff)
dlna fixes
Diffstat (limited to 'MediaBrowser.Dlna/Server/ControlHandler.cs')
-rw-r--r--MediaBrowser.Dlna/Server/ControlHandler.cs17
1 files changed, 13 insertions, 4 deletions
diff --git a/MediaBrowser.Dlna/Server/ControlHandler.cs b/MediaBrowser.Dlna/Server/ControlHandler.cs
index ba325a66b..e49bf3b40 100644
--- a/MediaBrowser.Dlna/Server/ControlHandler.cs
+++ b/MediaBrowser.Dlna/Server/ControlHandler.cs
@@ -185,7 +185,7 @@ namespace MediaBrowser.Dlna.Server
{
var id = sparams["ObjectID"];
- var item = _libraryManager.GetItemById(new Guid(id));
+ var item = GetItemFromObjectId(id, user);
var newbookmark = int.Parse(sparams["PosSecond"], _usCulture);
@@ -265,9 +265,7 @@ namespace MediaBrowser.Dlna.Server
didl.SetAttribute("xmlns:sec", NS_SEC);
result.AppendChild(didl);
- var folder = string.IsNullOrWhiteSpace(id) || string.Equals(id, "0", StringComparison.OrdinalIgnoreCase)
- ? user.RootFolder
- : (Folder)_libraryManager.GetItemById(new Guid(id));
+ var folder = (Folder)GetItemFromObjectId(id, user);
var children = GetChildrenSorted(folder, user).ToList();
@@ -328,6 +326,17 @@ namespace MediaBrowser.Dlna.Server
return _libraryManager.Sort(children, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending);
}
+ private BaseItem GetItemFromObjectId(string id, User user)
+ {
+ return string.IsNullOrWhiteSpace(id) || string.Equals(id, "0", StringComparison.OrdinalIgnoreCase)
+
+ // Samsung sometimes uses 1 as root
+ || string.Equals(id, "1", StringComparison.OrdinalIgnoreCase)
+
+ ? user.RootFolder
+ : _libraryManager.GetItemById(new Guid(id));
+ }
+
private void Browse_AddFolder(XmlDocument result, Folder f, int childCount)
{
var container = result.CreateElement(string.Empty, "container", NS_DIDL);