From 5614ce05be7f9f726b663458fdd13af7245a66c2 Mon Sep 17 00:00:00 2001 From: AlexGredn <55414996+AlexGredn@users.noreply.github.com> Date: Sun, 19 Mar 2023 13:03:06 +0300 Subject: [PATCH] Fix to work on Samsung TV (#228) * Fix to work on Samsung TV Samsung Q80 Series try to get meta data from dir in dlna and get nil. * Update list.go --- server/dlna/list.go | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/server/dlna/list.go b/server/dlna/list.go index fa216a4..d7ac247 100644 --- a/server/dlna/list.go +++ b/server/dlna/list.go @@ -112,19 +112,6 @@ func getTorrent(path, host string) (ret []interface{}) { } func getTorrentMeta(path, host string) (ret interface{}) { - // find torrent without load - torrs := torr.ListTorrent() - var torr *torr.Torrent - for _, t := range torrs { - if strings.Contains(path, t.TorrentSpec.InfoHash.HexString()) { - torr = t - break - } - } - if torr == nil { - return nil - } - // Meta object if path == "/" { // root object meta @@ -150,10 +137,23 @@ func getTorrentMeta(path, host string) (ret interface{}) { Date: upnpav.Timestamp{Time: time.Now()}, Class: "object.container.storageFolder", } + torrs := torr.ListTorrent() vol := len(torrs) meta := upnpav.Container{Object: trObj, ChildCount: vol} return meta } else if isHashPath(path) { + // find torrent without load + torrs := torr.ListTorrent() + var torr *torr.Torrent + for _, t := range torrs { + if strings.Contains(path, t.TorrentSpec.InfoHash.HexString()) { + torr = t + break + } + } + if torr == nil { + return nil + } // hash object meta obj := upnpav.Object{ ID: "%2F" + torr.TorrentSpec.InfoHash.HexString(),