diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-04-19 13:43:12 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-04-19 13:43:12 -0400 |
| commit | 13509c1d8d877b5a033d0bb45d347ba8564e8102 (patch) | |
| tree | 914ea876395390c1f95de0c2351daa5b9b44127c /MediaBrowser.Dlna/Server/ControlHandler.cs | |
| parent | 5170042eb5efee7be005dcc5aca863b66c23a6f2 (diff) | |
dlna fixes
Diffstat (limited to 'MediaBrowser.Dlna/Server/ControlHandler.cs')
| -rw-r--r-- | MediaBrowser.Dlna/Server/ControlHandler.cs | 17 |
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); |
