mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-23 23:20:51 +01:00
DLNA: The given key 'ObjectID' was not present in the dictionary #2240
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#2240
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @transiient on GitHub (Nov 6, 2020).
Originally assigned to: @BaronGreenback on GitHub.
Describe the bug
With DLNA set up, attempting to access the Jellyfin server through VLC UPnP or DLNA on a PlayStation 3 console results in an error, and the following is displayed in the log (with DLNA logging enabled):
Emby.Dlna.ContentDirectory.ContentDirectoryService: Error processing control requestSystem.Collections.Generic.KeyNotFoundException: The given key 'ObjectID' was not present in the dictionaryMy media directory (
/media) hasrwxpermissions for everyone. Jellyfin can read it fine and playback occurs in the browser and Android app, but DLNA does not work.System (please complete the following information):
/or/jellyfin/To Reproduce
Expected behavior
Expected DLNA directory listing.
Logs
Below is the Jellyfin log content from scanning and attempting to browse the Jellyfin DLNA server:
And here's a Wireshark traffic capture from my Windows 10 machine, running VLC and WMP, for good measure.
Screenshots

Jellyfin DLNA settings:
@transiient commented on GitHub (Nov 6, 2020):
Interesting bit of info: I can initialise playback on Windows Media Player through the Jellyfin web interface, but it doesn't actually play any video. Windows Media Player does not list the Jellyfin server under its libraries, though.
VLC Media Player does not show up in the Cast menu on the Jellyfin web interface. The PS3 does not show up in the Cast menu either. PS3 can find the Jellyfin DLNA server, but cannot read from it - it sometimes displays error 2114 instead of the other code quoted above.
@PrplHaz4 commented on GitHub (Nov 6, 2020):
TLDR; For DLNA to work as of this post, you should be running 10.6.4 or unstable with #3994
It's important to note that you are on unstable - did this config work on 10.6.4 for you?
There are a lot of DLNA/network changes coming up - so if you're interested in running unstable and DLNA, you should be running a build with #3994 in it.
@transiient commented on GitHub (Nov 6, 2020):
I'll try both 10.6.4 and unstable with that patch when I'm home and report
back!
DLNA wasn't working on 10.6.4 last I tried, however that's because I was
using a custom baseUrl, something which I later discovered broke DLNA
(#2377). I neglected to test without the baseUrl on that version.
On Fri, 6 Nov 2020, 14:58 PrplHaz4, notifications@github.com wrote:
@transiient commented on GitHub (Nov 6, 2020):
Gone back to 10.6.4 now. Had a couple weird issues with the web interface (not loading, or sometimes just a black screen). I suspect a config issue but can't find anything in the Docker logs.
Anyway, it works! So looks like the 20201105 unstable version does not support DLNA properly. I'd like to know what changed between the versions for it to break.
I'm going to try making a Docker image with #3994 in it, because I need a baseUrl for my reverse proxy setup. I'll report back if that fixes (or breaks) anything.
@BaronGreenback commented on GitHub (Nov 7, 2020):
Just checked the wireshark and ObjectID is definitely present.
@transiient commented on GitHub (Nov 7, 2020):
@BaronGreenback I haven't done a Wireshark capture of the working DLNA server yet, but I'll get that done when I can to compare.
If ObjectID is present, I'm not sure what the error is. Have you got any ideas for troubleshooting?
I'm still trying to get your networking2 patch built so I can try that, but I'm getting a Mono build error (something about needing to specify a project file?) so that's not happening right now.
@BaronGreenback commented on GitHub (Nov 7, 2020):
I've located where it's crashing - and i know why - because it didn't parse the soap request correctly for some reason.
Just checking the dlna server against UPnP Developer tools. It has a nice program that checks the validity of device responses.
@crobibero commented on GitHub (Nov 7, 2020):
This PR introduced a bug where the headers aren’t set on the response object
https://github.com/jellyfin/jellyfin/pull/4212
@BaronGreenback commented on GitHub (Nov 7, 2020):
Have reproduced here - will submit a PR
@BaronGreenback commented on GitHub (Nov 7, 2020):
return result; is missing from line 172.
@BaronGreenback commented on GitHub (Nov 7, 2020):
@sam-cross Thanks for your help.