aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src/module/xep/0264_jingle_content_thumbnails.vala
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2025-06-14 17:50:07 +0200
committerfiaxh <git@lightrise.org>2025-06-14 17:50:07 +0200
commitbd8f277b9129a48a95ee19a2a3ec41d13aa66d4a (patch)
treed3538411c045c8245e81a32237039e924dd4efa4 /xmpp-vala/src/module/xep/0264_jingle_content_thumbnails.vala
parent1dae4e1abd2b49fdfb64eecf068d1085dcd7e125 (diff)
Add basic support for BOB thumbnails in SFS
Diffstat (limited to 'xmpp-vala/src/module/xep/0264_jingle_content_thumbnails.vala')
-rw-r--r--xmpp-vala/src/module/xep/0264_jingle_content_thumbnails.vala15
1 files changed, 4 insertions, 11 deletions
diff --git a/xmpp-vala/src/module/xep/0264_jingle_content_thumbnails.vala b/xmpp-vala/src/module/xep/0264_jingle_content_thumbnails.vala
index 5dba0c6d..d408e94b 100644
--- a/xmpp-vala/src/module/xep/0264_jingle_content_thumbnails.vala
+++ b/xmpp-vala/src/module/xep/0264_jingle_content_thumbnails.vala
@@ -13,15 +13,16 @@ namespace Xmpp.Xep.JingleContentThumbnails {
}
public class Thumbnail {
- public string uri;
public Bytes data;
public string? media_type;
public int width;
public int height;
public StanzaNode to_stanza_node() {
+ string data_uri = "data:image/png;base64," + Base64.encode(data.get_data());
+
StanzaNode node = new StanzaNode.build("thumbnail", NS_URI).add_self_xmlns()
- .put_attribute("uri", this.uri);
+ .put_attribute("uri", data_uri);
if (this.media_type != null) {
node.put_attribute("media-type", this.media_type);
}
@@ -38,17 +39,9 @@ namespace Xmpp.Xep.JingleContentThumbnails {
string uri = node.get_attribute("uri");
if (uri == null) return null;
- string? data_uri = null;
- Bytes data = BitsOfBinary.get_data_for_uri(uri);
-
- if (uri.has_suffix("@bob.xmpp.org")) {
- data_uri = "data:image/png;base64," + Base64.encode(data.get_data());
- } else if (uri.has_prefix("data:image/png;base64,")) {
- data_uri = uri;
- }
+ Bytes data = Xmpp.get_data_for_uri(uri);
Thumbnail thumbnail = new Thumbnail();
- thumbnail.uri = data_uri;
thumbnail.data = data;
thumbnail.media_type = node.get_attribute("media-type");
thumbnail.width = node.get_attribute_int("width");