Commit Graph

23 Commits

Author SHA1 Message Date
Ryan Kuba 46412d23af
update the QOI code to use transferable object with memory leaks plugged (#119)
Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
2024-11-20 13:43:10 -05:00
Matt McClaskey d590bb931a
Bugfix/kasm 5417 watermark multi mon (#85)
* KASM-5417 fix bug watermrk multi-display
* Force the zlib expected size to an int, it was unexpectedly float
* KASM-5427 transparent rects not drawn on primary display
* add double buffer when transparent rects are used
* refactor of transparent rects
* Use a more descriptive zlib error
* account for dropped transparent rects
* fix bug with multi-monitor with overlay
2024-01-17 10:44:20 -05:00
Matt McClaskey d83f94c886
Transparent Rect Type (#58)
* implement new transparent rect encoding
* implement a max frame hold time
---------

Co-authored-by: Lauri Kasanen <cand@gmx.com>
Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2023-03-01 11:18:59 -05:00
Matt McClaskey 2f01048bc6
KASM-3574 worker cleanup (#49)
* KASM-3574 worker cleanup

Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2022-11-15 12:15:40 -05:00
Ryan Kuba 34305e9956
KASM-3535 code to disable workers on jpeg quality change more qoi threads (#47)
Added more QOI worker threads
2022-11-14 07:09:10 -05:00
Matt McClaskey 437830d497
Feature/kasm 3380 udp frame (#46)
* Handle the frame id in udp packets

* refactor udp message buffer, add frame_id and rect cnt

* refactor udp to work with new display.js

* additional debug metrics, clear frame buffer on transitions tcp/udp

* fix udp with display refactor, KASM-3541 cancelAnimationFrame

Co-authored-by: Lauri Kasanen <cand@gmx.com>
Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2022-11-11 09:31:16 -05:00
Ryan Kuba c5350ba2d7
KASM-3521 need to support relative pathing for the qoi workers (#44)
KASM-3521 need to support relative pathing for the qoi workers
2022-11-04 15:40:41 -04:00
Matt McClaskey 9f240fc7b1
Major refactor of display class, support for QOI (#43)
* Major refactor of display.js queue to assume async rect processing in order to accommodate threaded decode or udp

* QOI lossless decoder on worker threads using WASM

* rfb.js class to provide frame_id and rect counts per frame

Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
Co-authored-by: matt <matt@kasmweb.com>
2022-11-02 07:01:54 -04:00
Matt McClaskey 842d7ad938
added udp toggle in UI, added err handling (#33)
Co-authored-by: Matt McClaskey <matt@kasmweb.com>
2022-09-07 05:40:29 -04:00
matt f1d7df548a KasmVNC changes merged manually 2021-03-30 15:03:34 -04:00
Pierre Ossman 113fa27ebc Handle empty rects from the server
These are very pointless for the server to send, but not a violation of
the protocol so we need to be able to handle them. We've seen this
happen in real world scenarios a few times.
2020-09-04 16:16:44 +02:00
Pierre Ossman 6a19390baa Switch to RGBx pixel format
This is what the browser wants so it avoids having to spend time
converting everything. Unfortunately it usually means the server instead
needs to convert it for us, but we assume it has more power than we do.
2020-06-08 07:57:17 +02:00
Pierre Ossman f5b5767c98 Standardise on a single blit function
Keep everything simpler by always blitting in the same pixel format.
It's up to the decoders to convert if they need to.
2020-06-08 07:53:41 +02:00
Pierre Ossman 34f52a8f41 Fix bad BasicCompression check in Tight decoder 2020-06-08 07:53:41 +02:00
Niko Lehto 2cee106eee Split api of inflate
Added ability to read data chunk wise.
2020-02-17 11:29:41 +01:00
Niko Lehto f6669ff7b2 Move error handling to Inflate class
Every call wants this check so this should be done inside the class.
2020-02-17 11:29:41 +01:00
Niko Lehto 183cab0eca Remove unused inflate argument
The value true was an invalid flush argument so it was in practice
unused.
2020-02-17 11:29:40 +01:00
Pierre Ossman 4babdf33bd Validate decoded image dimensions
They are expected to be a certain size, so verify this so no server
tries to do something broken.
2019-12-23 15:42:02 +01:00
Samuel Mannehed 412d93060d Update copyright to 2019 for modified files 2019-09-30 15:35:33 +02:00
Juanjo Diaz 8a189a6291 Add getters/setter to websock 2018-12-08 17:31:20 +02:00
Juanjo Diaz d3ed883a8f Use `new` when constructing errors 2018-11-24 21:44:11 +02:00
Pierre Ossman 9881899e7b Merge branch 'style' of https://github.com/CendioOssman/noVNC 2018-09-17 13:54:04 +02:00
Pierre Ossman 923cd22083 Move decoders to separate classes
Makes things a lot clearer by letting each encoding handle its own
details and state.
2018-08-22 15:12:34 +02:00