From 5b0b8e5374874ec23e9457f56bcabbefe225b9ba Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 24 Sep 2013 14:25:27 -0700 Subject: [PATCH] Migrate video instruction to new stream style. --- .../src/main/resources/guacamole.js | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/guacamole-common-js/src/main/resources/guacamole.js b/guacamole-common-js/src/main/resources/guacamole.js index a6fc26d2f..a91c9fc78 100644 --- a/guacamole-common-js/src/main/resources/guacamole.js +++ b/guacamole-common-js/src/main/resources/guacamole.js @@ -1420,12 +1420,37 @@ Guacamole.Client = function(tunnel) { "video": function(parameters) { - var layer = getLayer(parseInt(parameters[0])); - var mimetype = parameters[1]; - var duration = parseFloat(parameters[2]); - var data = parameters[3]; + var stream_index = parseInt(parameters[0]); - layer.play(mimetype, duration, "data:" + mimetype + ";base64," + data); + // Create stream + var stream = streams[stream_index] = + new Guacamole.InputStream(mimetype); + + var layer = getLayer(parseInt(parameters[1])); + var mimetype = parameters[2]; + var duration = parseFloat(parameters[3]); + + // Play video once closed + stream.onclose = function() { + + // Read data from blob from stream + var reader = new FileReader(); + reader.onload = function() { + + var binary = ""; + var bytes = new Uint8Array(reader.result); + + // Produce binary string from bytes in buffer + for (var i=0; i