From 3e9e29ba8fee2ad3196d8f900ba7df124d7febf2 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Sat, 18 Apr 2026 10:36:38 +0100 Subject: [PATCH] serve dlna: handle empty ObjectID from Samsung TVs Samsung TVs sometimes send Browse requests with empty ObjectID parameters () which causes DLNA servers to return errors. Default empty ObjectID to "0" (root container) to maintain compatibility. This fix is based on ReadyMedia/MiniDLNA Bug 311 which documented the same issue and solution for Samsung TVs. See #9346 --- cmd/serve/dlna/cds.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmd/serve/dlna/cds.go b/cmd/serve/dlna/cds.go index 1b9468404..01f7e4453 100644 --- a/cmd/serve/dlna/cds.go +++ b/cmd/serve/dlna/cds.go @@ -305,6 +305,10 @@ func (cds *contentDirectoryService) Handle(action string, argsXML []byte, r *htt if err := xml.Unmarshal(argsXML, &browse); err != nil { return nil, err } + // Samsung TVs sometimes send empty ObjectID, default to root container + if browse.ObjectID == "" { + browse.ObjectID = "0" + } obj, err := cds.objectFromID(browse.ObjectID) if err != nil { return nil, upnp.Errorf(upnpav.NoSuchObjectErrorCode, "%s", err.Error())