Fixed vnc_perf.html
This commit updates vnc_perf.html so that it works with the current version of noVNC. It also introduces a utility to convert noVNC session recordings recorded in base64-mode to binary-mode recordings, since noVNC no longer supports base64-mode. Fixes #479.
This commit is contained in:
parent
464944844f
commit
4ee55e0126
|
@ -38,17 +38,23 @@
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var INCLUDE_URI= "../include/";
|
var INCLUDE_URI= "../include/";
|
||||||
// TODO: Data file should override
|
// TODO: Data file should override
|
||||||
var VNC_frame_encoding = "base64";
|
var VNC_frame_encoding = "binary";
|
||||||
</script>
|
</script>
|
||||||
<script src="../include/util.js"></script>
|
<script src="../include/util.js"></script>
|
||||||
<script src="../include/playback.js"></script>
|
<script src="../include/webutil.js"></script>
|
||||||
<script src="../data/multi.js"></script>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Load supporting scripts
|
var fname = WebUtil.getQueryVar('data', null);
|
||||||
Util.load_scripts(["webutil.js", "base64.js", "websock.js", "des.js",
|
if (fname) {
|
||||||
"keysymdef.js", "keyboard.js", "input.js", "display.js",
|
msg("Loading " + fname);
|
||||||
"rfb.js"]);
|
|
||||||
|
// Load supporting scripts
|
||||||
|
Util.load_scripts(["base64.js", "websock.js", "des.js", "keysym.js",
|
||||||
|
"keysymdef.js", "keyboard.js", "input.js", "display.js",
|
||||||
|
"rfb.js", "playback.js", "inflator.js", fname]);
|
||||||
|
} else {
|
||||||
|
msg("Must specifiy data=FOO.js in query string.");
|
||||||
|
}
|
||||||
|
|
||||||
var start_time, VNC_frame_data, pass, passes, encIdx,
|
var start_time, VNC_frame_data, pass, passes, encIdx,
|
||||||
encOrder = ['raw', 'rre', 'hextile', 'tightpng', 'copyrect'],
|
encOrder = ['raw', 'rre', 'hextile', 'tightpng', 'copyrect'],
|
||||||
|
@ -201,9 +207,7 @@
|
||||||
enc = encOrder[i];
|
enc = encOrder[i];
|
||||||
dbgmsg(" " + enc + ": " + VNC_frame_data_multi[enc].length);
|
dbgmsg(" " + enc + ": " + VNC_frame_data_multi[enc].length);
|
||||||
}
|
}
|
||||||
rfb = new RFB({'target': $D('VNC_canvas'),
|
$D('startButton').disabled = false;
|
||||||
'onUpdateState': updateState});
|
|
||||||
rfb.testMode(send_array, VNC_frame_encoding);
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var INCLUDE_URI= "../include/";
|
var INCLUDE_URI= "../include/";
|
||||||
// TODO: Data file should override
|
// TODO: Data file should override
|
||||||
var VNC_frame_encoding = "base64";
|
var VNC_frame_encoding = "binary";
|
||||||
</script>
|
</script>
|
||||||
<script src="../include/util.js"></script>
|
<script src="../include/util.js"></script>
|
||||||
<script src="../include/webutil.js"></script>
|
<script src="../include/webutil.js"></script>
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
use MIME::Base64;
|
||||||
|
|
||||||
|
for (<>) {
|
||||||
|
unless (/^'([{}])(\d+)\1(.+?)',$/) {
|
||||||
|
print;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
my ($dir, $amt, $b64) = ($1, $2, $3);
|
||||||
|
|
||||||
|
my $decoded = MIME::Base64::decode($b64) or die "Could not base64-decode line `$_`";
|
||||||
|
|
||||||
|
my $decoded_escaped = join "", map { "\\x$_" } unpack("(H2)*", $decoded);
|
||||||
|
|
||||||
|
print "'${dir}${amt}${dir}${decoded_escaped}',\n";
|
||||||
|
}
|
Loading…
Reference in New Issue