From 31f50556ecff3381f6a51de4311fd1c939b9dbd7 Mon Sep 17 00:00:00 2001 From: YouROK <8yourok8@mail.ru> Date: Wed, 8 Sep 2021 11:39:50 +0300 Subject: [PATCH] add dlna header --- server/torr/stream.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/server/torr/stream.go b/server/torr/stream.go index aba5a66..da3ca3a 100644 --- a/server/torr/stream.go +++ b/server/torr/stream.go @@ -8,6 +8,7 @@ import ( "net/http" "time" + "github.com/anacrolix/dms/dlna" "github.com/anacrolix/missinggo/httptoo" "github.com/anacrolix/torrent" @@ -55,11 +56,19 @@ func (t *Torrent) Stream(fileID int, req *http.Request, resp http.ResponseWriter log.Println("Connect client", host, port) } } - + sets.SetViewed(&sets.Viewed{t.Hash().HexString(), fileID}) resp.Header().Set("Connection", "close") resp.Header().Set("ETag", httptoo.EncodeQuotedString(fmt.Sprintf("%s/%s", t.Hash().HexString(), file.Path()))) + resp.Header().Set("transferMode.dlna.org", "Streaming") + + if req.Header.Get("getContentFeatures.dlna.org") != "" { + resp.Header().Set("contentFeatures.dlna.org", dlna.ContentFeatures{ + SupportRange: true, + SupportTimeSeek: true, + }.String()) + } http.ServeContent(resp, req, file.Path(), time.Unix(t.Timestamp, 0), reader)