Commit Graph

240 Commits (e69006fc483a4b9ab9f4cd3ac9f67aa3ddb6ecfb)

Author SHA1 Message Date
Andri Yngvason 77b866096d Redesign framebuffer update loop
Rendering may now only happen inside the rendering callback. The user is
also allowed to change out the entire buffer in the callback.

The callback is triggered by nvnc_damage_region(), nvnc_damage_whole()
and/or framebuffer update requests.

This fixes #26
2020-04-07 23:35:57 +00:00
Andri Yngvason 048b796ff5 Enable SO_REUSEADDR again 2020-04-06 18:29:17 +00:00
Andri Yngvason 11a73c5cb0 Revert "tight: Limit rectangle max width according to spec"
This reverts commit 999c1ef255.

This sends more rects than the original rect count allows for.
2020-04-06 00:01:32 +00:00
Andri Yngvason 1976221afe Resolve host names in nvnc_open()
This fixes #23
2020-04-04 22:26:00 +00:00
Andri Yngvason e3fae7b2bf Fix turbojpeg dependency
It is now actually optional
2020-04-04 20:10:06 +00:00
Andri Yngvason 8fc5c18b28 Don't show partial frames to new clients 2020-04-04 14:00:03 +00:00
Andri Yngvason f45f90ed9b nvnc_fb: Add a mechanism for signaling that a frame is in use 2020-04-04 12:33:18 +00:00
Andri Yngvason 8c27878dd1 README: Add zlib to list of runtime dependencies 2020-04-03 23:30:35 +00:00
Andri Yngvason b0799f7490 server: Add dtrace probe for stream_send inside update_fb_done 2020-04-03 23:11:12 +00:00
Andri Yngvason 14fed5c182 Enable tight encoding by default 2020-04-03 22:55:55 +00:00
Andri Yngvason a54b9ddd8e tight: Check quality level at start of each frame 2020-04-03 22:54:46 +00:00
Andri Yngvason b44d1a1f58 Replace miniz with system provided zlib
miniz is simply broken, so I can't use it.
2020-04-03 22:39:55 +00:00
Andri Yngvason 25626a9048 tight: Implement quality control 2020-04-03 20:09:26 +00:00
Andri Yngvason 17e0d6036f tight: Implement bare minimum "basic" encoding 2020-04-03 00:18:54 +00:00
Andri Yngvason cfb2abfc58 tight: Prepare for "basic" encoding method 2020-04-02 21:52:04 +00:00
Andri Yngvason 999c1ef255 tight: Limit rectangle max width according to spec 2020-04-02 21:26:12 +00:00
Andri Yngvason 1724797a27 tight: Add some error handling 2020-04-02 21:12:09 +00:00
Andri Yngvason 10a3fd6238 Add dtrace probes for framebuffer updates 2020-04-01 22:53:22 +00:00
Andri Yngvason dc70f2b409 Add dtrace probe infrastructure 2020-04-01 22:49:58 +00:00
Andri Yngvason 22eba2bed8 Make sure framebuffers are properly aligned 2020-03-29 13:16:05 +00:00
Andri Yngvason f0974e5af6 stream: Close if read() == 0 2020-03-24 19:15:27 +00:00
Andri Yngvason b3b41d312a
Merge pull request #24 from johnae/master
Remove libuv header include
2020-03-24 09:03:07 +00:00
John Axel Eriksson d1c7402acd
Remove libuv header include 2020-03-24 07:04:05 +01:00
Andri Yngvason a77eb34fba Spawn as many workers as there are CPU cores 2020-03-21 17:27:30 +00:00
Andri Yngvason 9bf961992b README: Replace libuv with aml 2020-03-21 17:07:42 +00:00
Andri Yngvason be085c9a79 examples: Add signal handler and clean up resources 2020-03-21 16:59:10 +00:00
Andri Yngvason 76e721c4cd Replace libuv with aml 2020-03-21 16:59:10 +00:00
Andri Yngvason 3b7839e53b .gitignore: Add subprojects 2020-03-16 20:08:48 +00:00
Andri Yngvason bc0cea86ae Release 0.1.0 2020-02-21 23:04:19 +00:00
Andri Yngvason 992b4445ed tight: Add copyright notice 2020-02-09 12:03:14 +00:00
Andri Yngvason d2dc5ff91c Remove makefiles in favour of meson
I'd rather maintain a single set of build scripts
2020-02-09 11:53:47 +00:00
Andri Yngvason 3ecede86c3 Build examples using meson 2020-02-09 11:41:43 +00:00
Andri Yngvason 61efca48f0 damage: Increment/decrement reference count before/after check
This is prudent. The user might throw away these buffers before the
damage check finishes.
2020-01-29 21:33:13 +00:00
Andri Yngvason c29e747ecf bsd queue: Remove #include <sys/cdefs.h>
This fixes #17, failing compilation with musl
2020-01-29 19:59:14 +00:00
Andri Yngvason d0a92c2e8d COPYING: The year is 2020 2020-01-29 19:49:11 +00:00
Andri Yngvason 10473597c5 stream: Fix flushing when tls is disabled 2020-01-29 17:03:55 +00:00
Andri Yngvason 844645d63b
Merge pull request #15 from agners/example-fixes
Fix examples
2020-01-27 00:17:09 +00:00
Stefan Agner 965db59ecf use installed header file
Treat neatvnc as a proper library when using examples.
2020-01-26 23:24:09 +01:00
Stefan Agner 1e0612a81e Remove unused/unexisting include util.h
The header file util.h has been remvoed from the codebase with
commit caf9fe0130 ("Remove unused code"), remove it from pngfb.c as
well. This allows to build the examples again.
2020-01-26 12:45:06 +01:00
Andri Yngvason 993ad80b86 README: Add compatibility table 2020-01-25 20:26:31 +00:00
Andri Yngvason 32f953e3a2 README: Add gnutls to the dependency list 2020-01-25 20:00:17 +00:00
Andri Yngvason 7d2b295b4a server: Read messages straight into message buffer
This avoids extra copying and removes a possible error condition that
would cause the connection to be closed
2020-01-25 16:42:10 +00:00
Andri Yngvason 547387f549 server: Close after sending VeNCrypt failure message 2020-01-25 16:04:04 +00:00
Andri Yngvason b30a5516d3 server: Send the proper reason string on security handshake failure 2020-01-25 15:59:04 +00:00
Andri Yngvason 1687b8c701 server: Apply stream API change 2020-01-25 15:52:44 +00:00
Andri Yngvason fef9ca1d7c stream: Change api for stream_write 2020-01-25 15:46:52 +00:00
Andri Yngvason caf9fe0130 Remove unused code 2020-01-25 15:39:23 +00:00
Andri Yngvason 19e4e42036 Implement VeNCrypt with x509 plain authentication 2020-01-25 15:35:14 +00:00
Andri Yngvason 113f262115 Add some debug printout macros 2020-01-25 15:33:36 +00:00
Andri Yngvason 2f99659077 Create a network stream object with TLS support 2020-01-25 15:33:36 +00:00