diff --git a/crates/librqbit/src/upnp_server_adapter.rs b/crates/librqbit/src/upnp_server_adapter.rs
index c9066de..7a2e278 100644
--- a/crates/librqbit/src/upnp_server_adapter.rs
+++ b/crates/librqbit/src/upnp_server_adapter.rs
@@ -62,7 +62,8 @@ impl TorrentFileTreeNode {
let encoded_parent_id = self.parent_id.map(|p| encode_id(p, torrent.id()));
match self.real_torrent_file_id {
Some(fid) => {
- let filename = &torrent.shared().file_infos[fid].relative_filename;
+ let fi = &torrent.shared().file_infos[fid];
+ let filename = &fi.relative_filename;
// Torrent path joined with "/"
let last_url_bit = torrent
.shared()
@@ -91,6 +92,7 @@ impl TorrentFileTreeNode {
fid,
last_url_bit
),
+ size: fi.len,
})
}
None => ItemOrContainer::Container(Container {
@@ -588,7 +590,8 @@ mod tests {
parent_id: 0,
title: "f1".into(),
mime_type: None,
- url: "http://127.0.0.1:9005/torrents/0/stream/0/f1".into()
+ url: "http://127.0.0.1:9005/torrents/0/stream/0/f1".into(),
+ size: 1,
}),
ItemOrContainer::Container(Container {
id: encode_id(0, 1),
@@ -606,7 +609,8 @@ mod tests {
parent_id: 0,
title: "f1".into(),
mime_type: None,
- url: "http://127.0.0.1:9005/torrents/0/stream/0/f1".into()
+ url: "http://127.0.0.1:9005/torrents/0/stream/0/f1".into(),
+ size: 1,
})]
);
@@ -648,6 +652,7 @@ mod tests {
title: "f2".into(),
mime_type: None,
url: "http://127.0.0.1:9005/torrents/1/stream/0/d1/f2".into(),
+ size: 1,
})]
);
@@ -659,6 +664,7 @@ mod tests {
title: "f2".into(),
mime_type: None,
url: "http://127.0.0.1:9005/torrents/1/stream/0/d1/f2".into(),
+ size: 1,
})]
);
}
diff --git a/crates/upnp-serve/examples/upnp-stub-server.rs b/crates/upnp-serve/examples/upnp-stub-server.rs
index 51a44a6..cc393dd 100644
--- a/crates/upnp-serve/examples/upnp-stub-server.rs
+++ b/crates/upnp-serve/examples/upnp-stub-server.rs
@@ -26,6 +26,7 @@ async fn main() -> anyhow::Result<()> {
url: "http://192.168.0.165:3030/torrents/4/stream/0/file.mkv".to_owned(),
id: 1,
parent_id: 0,
+ size: 1,
})];
const HTTP_PORT: u16 = 9005;
diff --git a/crates/upnp-serve/src/resources/templates/content_directory/control/browse/item.tmpl.xml b/crates/upnp-serve/src/resources/templates/content_directory/control/browse/item.tmpl.xml
index 1780249..1c2ab68 100644
--- a/crates/upnp-serve/src/resources/templates/content_directory/control/browse/item.tmpl.xml
+++ b/crates/upnp-serve/src/resources/templates/content_directory/control/browse/item.tmpl.xml
@@ -1,5 +1,5 @@
-
{title}
{upnp_class}
- {url}
+ {url}
diff --git a/crates/upnp-serve/src/services/content_directory.rs b/crates/upnp-serve/src/services/content_directory.rs
index 47854d6..303ecfb 100644
--- a/crates/upnp-serve/src/services/content_directory.rs
+++ b/crates/upnp-serve/src/services/content_directory.rs
@@ -76,6 +76,7 @@ pub mod browse {
pub title: String,
pub mime_type: Option,
pub url: String,
+ pub size: u64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
@@ -103,7 +104,8 @@ pub mod browse {
mime_type = mime,
url = item.url,
upnp_class = upnp_class,
- title = item.title
+ title = item.title,
+ size = item.size
))
}