From 1a57d41a1b5dd411efa592fa647b3bc58e499cf1 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 29 Jan 2025 09:58:01 -0800 Subject: [PATCH] GUACAMOLE-377: Use ImageDecoder to decode images while they are being received (if possible). --- .../main/webapp/modules/ArrayBufferReader.js | 26 ++++++-- .../src/main/webapp/modules/Display.js | 44 ++++++++++--- .../src/main/webapp/modules/InputStream.js | 62 +++++++++++++++++++ 3 files changed, 116 insertions(+), 16 deletions(-) diff --git a/guacamole-common-js/src/main/webapp/modules/ArrayBufferReader.js b/guacamole-common-js/src/main/webapp/modules/ArrayBufferReader.js index 2d542a6dd..ea3a00952 100644 --- a/guacamole-common-js/src/main/webapp/modules/ArrayBufferReader.js +++ b/guacamole-common-js/src/main/webapp/modules/ArrayBufferReader.js @@ -39,13 +39,27 @@ Guacamole.ArrayBufferReader = function(stream) { // Receive blobs as array buffers stream.onblob = function(data) { - // Convert to ArrayBuffer - var binary = window.atob(data); - var arrayBuffer = new ArrayBuffer(binary.length); - var bufferView = new Uint8Array(arrayBuffer); + var arrayBuffer, bufferView; - for (var i=0; i