[PR #4579] [CLOSED] [Fix] DLNA BROWSE issues. #10171

Closed
opened 2026-02-07 06:15:20 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/4579
Author: @BaronGreenback
Created: 11/25/2020
Status: Closed

Base: masterHead: Dlna_DidlFix1


📝 Commits (10+)

📊 Changes

4 files changed (+171 additions, -279 deletions)

View changed files

📝 Emby.Dlna/ContentDirectory/ControlHandler.cs (+136 -261)
📝 Emby.Dlna/ContentDirectory/ServerItem.cs (+11 -0)
📝 Emby.Dlna/Didl/DidlBuilder.cs (+22 -17)
📝 MediaBrowser.Controller/Entities/UserViewBuilder.cs (+2 -1)

📄 Description

The Developer Tools for UPnP™ Technology's Device Validator reports up various errors when asked to the DLNA server.
This PR contains the fixes to resolve these errors.

Issue 1:
Issuing a BROWSE browsemeta request against the DLNA server, when the item is the media folder of a user profile, returns a parent item and not 0 (it should be treated as a root item). I assume this code was written before user profiles.
Fixed This PR fixes this issue returning the correct value of 0.

Issue 2:
"Browse All": Browse("f137a2dd21bbc1b99aa5c0f6bf02a805", BROWSEDIRECTCHILDREN, "*", 0, 1, "") did not yield exactly one CDS-compliant media object in its result. Instantiated a total of 6 media objects.
Fixed The correct number of items are returned.

Issue 3:
"Browse All": Browse("continuewatching_f137a2dd21bbc1b99aa5c0f6bf02a805", BROWSEMETADATA, "*", 0, 0, "") returned a DIDL-Lite media object with parentID="0" when it should be "f137a2dd21bbc1b99aa5c0f6bf02a805".
Fixed Continue Watching's parent is now the top level folder.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/4579 **Author:** [@BaronGreenback](https://github.com/BaronGreenback) **Created:** 11/25/2020 **Status:** ❌ Closed **Base:** `master` ← **Head:** `Dlna_DidlFix1` --- ### 📝 Commits (10+) - [`d3eadff`](https://github.com/jellyfin/jellyfin/commit/d3eadffb77426352224c2c259232b91476bc9726) Fixed BROWSE issue. - [`c7abb70`](https://github.com/jellyfin/jellyfin/commit/c7abb70255634683f2bda2e2a37f51fb03f0eef3) Two more fixes. - [`75a5665`](https://github.com/jellyfin/jellyfin/commit/75a56653f05b22f8a4de1da90d904ab7bc0902ad) Fixed Browse - [`ab1992a`](https://github.com/jellyfin/jellyfin/commit/ab1992a2cdacbf5d89bfbf185a6ac6f73b642a3a) Update ControlHandler.cs - [`bd45c48`](https://github.com/jellyfin/jellyfin/commit/bd45c48b180dd91f882f97455182813145c6058c) Update Emby.Dlna/ContentDirectory/ControlHandler.cs - [`4b69936`](https://github.com/jellyfin/jellyfin/commit/4b699369894612e987debf1b72de7bc21f601c04) Update Emby.Dlna/ContentDirectory/ControlHandler.cs - [`b59f82c`](https://github.com/jellyfin/jellyfin/commit/b59f82c0757128dfd9b1f15dca29ca9e8f1118dc) Performance benefits. - [`e4452d7`](https://github.com/jellyfin/jellyfin/commit/e4452d722da098d11f1da632b2a6c727c299d7e3) Update ServerItem.cs - [`1ec8b44`](https://github.com/jellyfin/jellyfin/commit/1ec8b4453c8ef5508030d4aa297d755e31ff6821) Update DidlBuilder.cs - [`27d675f`](https://github.com/jellyfin/jellyfin/commit/27d675fec7775243b200b52d9f429f3c1938bb2d) Added nullability ### 📊 Changes **4 files changed** (+171 additions, -279 deletions) <details> <summary>View changed files</summary> 📝 `Emby.Dlna/ContentDirectory/ControlHandler.cs` (+136 -261) 📝 `Emby.Dlna/ContentDirectory/ServerItem.cs` (+11 -0) 📝 `Emby.Dlna/Didl/DidlBuilder.cs` (+22 -17) 📝 `MediaBrowser.Controller/Entities/UserViewBuilder.cs` (+2 -1) </details> ### 📄 Description The Developer Tools for UPnP™ Technology's Device Validator reports up various errors when asked to the DLNA server. This PR contains the fixes to resolve these errors. **Issue 1:** Issuing a BROWSE browsemeta request against the DLNA server, when the item is the media folder of a user profile, returns a parent item and not 0 (it should be treated as a root item). I assume this code was written before user profiles. **Fixed** This PR fixes this issue returning the correct value of 0. **Issue 2:** "Browse All": Browse("f137a2dd21bbc1b99aa5c0f6bf02a805", BROWSEDIRECTCHILDREN, "*", 0, 1, "") did not yield exactly one CDS-compliant media object in its result. Instantiated a total of 6 media objects. **Fixed** The correct number of items are returned. **Issue 3:** "Browse All": Browse("continuewatching_f137a2dd21bbc1b99aa5c0f6bf02a805", BROWSEMETADATA, "*", 0, 0, "") returned a DIDL-Lite media object with parentID="0" when it should be "f137a2dd21bbc1b99aa5c0f6bf02a805". **Fixed** Continue Watching's parent is now the top level folder. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-07 06:15:20 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#10171