Commit e7e66602 authored by Joel Martin's avatar Joel Martin

include/playback.js: support binary (non-base64) data files.

Data files should now set the variable VNC_frame_encoding to either
"binary" or "base64". The python websockify recording mode adds this
automatically based on what is negotiated with the client being
recorded.
parent 49578da4
...@@ -79,10 +79,22 @@ queue_next_packet = function () { ...@@ -79,10 +79,22 @@ queue_next_packet = function () {
} }
}; };
var bytes_processed = 0;
do_packet = function () { do_packet = function () {
//Util.Debug("Processing frame: " + frame_idx); //Util.Debug("Processing frame: " + frame_idx);
var frame = VNC_frame_data[frame_idx]; var frame = VNC_frame_data[frame_idx],
rfb.recv_message({'data' : frame.slice(frame.indexOf('{', 1) + 1)}); start = frame.indexOf('{', 1) + 1;
bytes_processed += frame.length - start;
if (VNC_frame_encoding === 'binary') {
var u8 = new Uint8Array(frame.length - start);
for (var i = 0; i < frame.length - start; i++) {
u8[i] = frame.charCodeAt(start + i);
}
rfb.recv_message({'data' : u8});
} else {
rfb.recv_message({'data' : frame.slice(start)});
}
frame_idx += 1; frame_idx += 1;
queue_next_packet(); queue_next_packet();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment