Andri Yngvason
25a533e22b
Add common utilities for encoders
2020-09-26 16:10:25 +00:00
Scott Moreau
81a8ba9d0e
server: Handle cut text messages of up to 10MB
2020-09-25 21:47:59 +00:00
Scott Moreau
783807c0b9
server: Fix possible crash on fragmented packet messages
...
The packets sent from the client especially for client cut text,
are typically sent in two packets, one for the message containing
the type and length and the other for the actual data. Sometimes
the first message is read but we still don't have the data yet.
We need to continue reading data to use the structure but this
revealed a bug. The client event handler was calling memmove()
with buffer_index as the size argument. This meant that it was
copying the wrong amount of data, resulting in garbage at the
end of the expected data. This patch fixes the problem by first
subtracting buffer_index from buffer_len and then moving buffer_len
worth of data, which is what was read into msg_buffer. The problem
possibly manifested itself with random crashes, after reading
random data.
2020-09-21 21:15:45 +00:00
Scott Moreau
6d29937e15
server: Add remaining support for simple copy/paste
...
- Add function to set callback for client_cut_text
- Add server_cut_text structure and function
This in conjunction with wayvnc #66 closes #4 .
2020-09-21 21:15:45 +00:00
Andri Yngvason
6ad4aba374
examples: Make all functions static
...
This fixes compiler warnings
2020-07-26 13:52:00 +00:00
Andri Yngvason
bb5e4ef7e1
README: Remove text about beta release
2020-07-26 13:49:00 +00:00
Andri Yngvason
addcc50483
Bake version info into library
2020-07-26 11:43:29 +00:00
Andri Yngvason
53db2b8c1b
Remove optimisation flags
...
Let's leave it to the package maintainers
2020-07-26 11:43:29 +00:00
Andri Yngvason
e1c0923915
stream: Add byte counters
2020-07-26 11:43:29 +00:00
Jan Beich
e862347ab5
meson: allow static linking
2020-07-22 21:15:49 +00:00
Andri Yngvason
b52f5cd6c9
Resize tight encoder on frame resize
2020-07-19 16:58:55 +00:00
Andri Yngvason
76beec6415
tight: Add method to resize encoder grid
2020-07-19 16:57:44 +00:00
Andri Yngvason
d4a5ed4133
stream: Ignore events after close instead of aborting
...
Aborting places an unnecessary restriction on the event loop library.
2020-07-19 13:22:57 +00:00
Andri Yngvason
a0801f04e4
Implement server-side resizing
2020-07-19 11:54:39 +00:00
Andri Yngvason
eb4b9d71a4
Return failure if display buffer is not set in on_connect
2020-07-18 14:04:12 +00:00
Andri Yngvason
683776cdf0
server: Assert that a client has a stream open when processing a message
2020-07-16 18:14:52 +00:00
Andri Yngvason
33eda8c5d0
Always enable tight, encoding but allow disabling lossy tight encoding
2020-07-11 20:16:27 +00:00
Andri Yngvason
497f9adb29
tight: Re-implement with threads
2020-07-11 20:06:45 +00:00
Andri Yngvason
9b54f6d936
Clean up dispatch hander on exit
2020-07-06 16:43:53 +00:00
Andri Yngvason
52e30e795b
Align with neatvnc API changes
2020-07-06 16:43:15 +00:00
Andri Yngvason
7fb2215c0f
Use raw encoding by default if no encoding has been selected
...
This complies with the standard.
2020-05-31 22:56:27 +00:00
Andri Yngvason
569ad287c5
Fix version error handling
2020-05-29 20:18:05 +00:00
Andri Yngvason
91bd49848f
Build benchmarks again
2020-05-27 21:59:34 +00:00
Stefan Agner
d2527e57f0
fix build warnings when building without tls
...
Fix trivial build warnings when building without TLS support.
2020-05-22 20:54:53 +00:00
Stefan Agner
8f9c71bb33
fix below zero message count check
...
size_t is unsigned and hence can't be below zero, triggering this gcc
warning with gcc 10:
warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
It seems this if statement is meant to check if there are messages to
process (larger than 0). If there are no messages, we should jump out
early.
2020-05-21 17:44:31 +00:00
Stefan Agner
a37eed4a4a
remove fb_lock/unlock
...
The two functions have been removed from the external header file.
Remove them and the now unnecessary field is_locked.
2020-05-21 17:44:31 +00:00
Stefan Agner
afbeae8410
add warning if a function is not declared
...
Add a warning if a function is not declared. Functions used only inside
a compile unit still can be used, but have to be declared with the
static keyword.
2020-05-21 17:44:31 +00:00
Stefan Agner
8316994dfa
use static for functions not used outside this compile unit
...
Add static for all functions only used inside the individual compile
units. This helps the compiler to potentially inline these functions.
This allows to use neatvnc as a Meson subproject in Weston which has
-Wmissing-prototypes enabled by default.
2020-05-21 17:44:31 +00:00
Andri Yngvason
c6c567cfaf
meson_options: Set the default SIMD extension to sse2
...
Too may people have old hardware.
2020-05-18 20:11:32 +00:00
Andri Yngvason
477ab4c481
tight: Allow lossy encoding with 16 bpp
2020-05-05 21:34:45 +00:00
Andri Yngvason
f3e09fd622
Prepare API for multi-display support
...
These changes are made now to make it possible to add multi-display
support in the future while keeping the public interface stable.
2020-04-12 18:16:19 +00:00
Andri Yngvason
737dd311a0
Remove nvnc_set_dimensions()
...
This information is now figured out based on the nvnc_fb passed into
nvnc_set_buffer()
2020-04-12 16:08:33 +00:00
Andri Yngvason
97899ed045
meson: Set -DNDEBUG for all other build types than debug or debugoptimized
2020-04-12 14:25:49 +00:00
Andri Yngvason
d12e66b043
raw-encoding: Add copyright notice
2020-04-12 13:18:42 +00:00
Andri Yngvason
2b2d12c755
damage: Add copyright notice
2020-04-12 13:18:28 +00:00
Andri Yngvason
a616423c49
fb: Add copyright notice
2020-04-12 13:17:54 +00:00
Andri Yngvason
c6f1ab616e
tight: Replace an assert with return -1
2020-04-10 12:40:57 +00:00
Andri Yngvason
0350ba1d16
zrle: Replace an assert with return -1
2020-04-10 12:36:51 +00:00
Andri Yngvason
a0d49f774a
meson: Let user choose x86_64 SIMD extension for release build
2020-04-10 12:35:05 +00:00
Andri Yngvason
297e22b588
Don't render when a client is still encoding
2020-04-10 12:07:35 +00:00
Andri Yngvason
1c2a2231d6
tight: Don't drop MSB when encoding rect size
2020-04-10 11:51:40 +00:00
Andri Yngvason
ee2adedfd1
examples: draw: Draw a larget dot
2020-04-08 22:58:14 +00:00
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