Commit Graph

107 Commits (output-scaling)

Author SHA1 Message Date
Andri Yngvason cbd5544ff1 Implement output scaling aware rendering 2022-10-09 17:22:51 +00:00
Andri Yngvason 9ef4184e87 main: Correct pointer scroll handling
closes: #15

Reported-by: retrotails
2022-07-30 11:02:28 +00:00
Andri Yngvason df203e5908 rfbproto: Request quality level with open-h264 2022-07-10 14:49:16 +00:00
Jan Beich ca6036f4cf meson: unbreak when libjpeg isn't found
ld: error: undefined symbol: jpeg_destroy_compress
>>> referenced by turbojpeg.c
>>>               wlvncc.p/src_turbojpeg.c.o:(tjDestroy)

ld: error: undefined symbol: jpeg_destroy_decompress
>>> referenced by turbojpeg.c
>>>               wlvncc.p/src_turbojpeg.c.o:(tjDestroy)

ld: error: undefined symbol: jpeg_std_error
>>> referenced by turbojpeg.c
>>>               wlvncc.p/src_turbojpeg.c.o:(_tjInitCompress)
>>> referenced by turbojpeg.c
>>>               wlvncc.p/src_turbojpeg.c.o:(_tjInitDecompress)

ld: error: undefined symbol: jpeg_CreateCompress
>>> referenced by turbojpeg.c
>>>               wlvncc.p/src_turbojpeg.c.o:(_tjInitCompress)

[...]
2022-07-10 13:56:28 +00:00
Andri Yngvason 81c9d8452c Remove rfb/ include prefix
This avoids accidentally including libvncclient's public API.
2022-07-06 21:17:01 +00:00
Andri Yngvason f1bba8e9bb Use quote-includes for all local headers 2022-07-06 21:11:19 +00:00
Andri Yngvason fcc6f737ea Remove redundant source file 2022-07-06 21:02:44 +00:00
Andri Yngvason c649bb8cb3 Add missing headers 2022-07-06 20:59:19 +00:00
Andri Yngvason 2e901f8e71 Don't outpace the wayland compositor 2022-07-03 10:47:27 +00:00
Andri Yngvason d4d5f2e75b vnc: Set a variable to tell that a framebuffer update is in progress 2022-07-03 10:46:49 +00:00
Andri Yngvason 73310b5669 rfbproto: Add StartingFramebufferUpdate callback 2022-07-02 22:01:12 +00:00
Andri Yngvason 178a10853c rfbproto: Extract framebuffer update handling into function 2022-07-02 21:51:54 +00:00
Andri Yngvason 6faab5d6d1 Pass rfbproto.c through clang-format 2022-07-02 20:55:41 +00:00
Andri Yngvason 88ff40f21c main: Fix typo 2022-07-02 15:32:49 +00:00
Andri Yngvason 589679f851 renderer-egl: Ignore alpha channel in shader 2022-07-02 10:47:35 +00:00
Andri Yngvason 5dfac14981 renderer-egl: Clear buffer damage after rendering
Otherwise, damage accumulates and everything is damaged all the time.
2022-07-02 10:47:35 +00:00
Andri Yngvason 29b33672ea renderer-egl: Don't clear before drawing
That interferes with damage tracking
2022-07-02 10:47:35 +00:00
Andri Yngvason 505b03a47e main: Extract function: window_damage_region 2022-07-02 10:47:35 +00:00
Andri Yngvason 47ba673c8b main: Extract function: apply_buffer_damage 2022-07-02 10:47:35 +00:00
Andri Yngvason d0818501f8 main: Extract function: get_frame_damage 2022-07-02 10:47:35 +00:00
Andri Yngvason 3a3d129e8f main: Remove redundant if 2022-07-02 10:47:35 +00:00
Andri Yngvason af59624f83 open-h264: Add padding to packet buffer
According to documentation this padding should be there and valgrind will
complain if it isn't.
2022-07-02 10:47:35 +00:00
Andri Yngvason f6a634f30b Free av_frames when done with them 2022-07-02 10:47:35 +00:00
Andri Yngvason 469db1ba3a renderer-egl: Clean up properly on exit 2022-07-02 10:47:35 +00:00
Andri Yngvason 37b3431e00 main: Add a canary ticker
This should help to notice when something is badly blocking the main loop.
2022-07-02 10:47:35 +00:00
Andri Yngvason cf56a1f416 Handle all buffered messages in the socket handler
Otherwise, some buffered messages will be left over
2022-07-02 10:46:00 +00:00
Andri Yngvason 2b99d0c019 sockets: Simplify write function 2022-07-02 10:46:00 +00:00
Andri Yngvason 1d9fcb5ebc Add dtrace probes for pts rects 2022-07-02 10:46:00 +00:00
Andri Yngvason 8970accb86 sockets: Replace select() with poll()
select() has been deprecated for a very long time and is considered harmful
2022-07-02 10:46:00 +00:00
Andri Yngvason d4faccba28 Remove useless feature test macros 2022-07-02 10:46:00 +00:00
Andri Yngvason 9a2a318991 Move SetFormatAndEncodings back into rfbproto.c 2022-07-02 10:46:00 +00:00
Andri Yngvason 760db16923 Remove dead code 2022-07-02 10:46:00 +00:00
Andri Yngvason f38e43e096 README: Remove libvncclient dependency 2022-07-02 10:46:00 +00:00
Andri Yngvason f4d40df8f6 Dispatch events while waiting for server data
Blocking the event loop is very bad
2022-07-02 10:46:00 +00:00
Andri Yngvason 23d1c82943 Merge libvncclient into the project 2022-07-02 10:46:00 +00:00
Andri Yngvason 3e8b6c311c .gitignore: Add .clang_complete 2022-07-02 10:45:34 +00:00
Daniel Lublin 0ea00b45ef Fail verbosely if we can't talk to wayland
Useful when mistakenly run in X
2022-06-30 15:26:13 +00:00
Jan Beich 83886345b1 vnc: consistently use builtin byteswap after b725a08b47
src/vnc.c:27:10: fatal error: 'byteswap.h' file not found
 #include <byteswap.h>
          ^~~~~~~~~~~~
2022-04-24 16:21:24 +00:00
Andri Yngvason b725a08b47 vnc: Add presentation timestamps 2022-04-14 18:41:34 +00:00
Andri Yngvason 3a96498113 vnc: Queue up two extra frambuffer updates
This way the server knows that the client can take up to 3 updates in a
row and doesn't have to wait for an update request after every single
frame.
2022-04-11 21:20:32 +00:00
Andri Yngvason 5b4694e1fd main: Remove dmabufs with alpha channel
They cause rendering issues
2022-04-10 17:00:09 +00:00
Andri Yngvason 7e89a36f43 main: Prioritise open-h264 encoding 2022-04-10 16:56:59 +00:00
Andri Yngvason 72c497e61d vnc: Re-implement libvncclient's SetFormatAndEncodings
Otherwise, we can't prioritise open-h264
2022-04-10 16:56:04 +00:00
Andri Yngvason 09c851750e open-h264: Fix frame parsing 2022-04-10 16:13:54 +00:00
Andri Yngvason 0b757d6623 main: User triple buffering
Apparently, double buffering isn't enough
2022-04-10 14:59:23 +00:00
Andri Yngvason 93869627ed open-h264: Add copyright notice 2022-04-10 13:56:11 +00:00
Andri Yngvason a69d5adc7a main: Pass AVFrames to egl renderer 2022-04-10 13:55:14 +00:00
Andri Yngvason c4ffd8eef6 renderer-egl: Add function to render AVFrames 2022-04-10 13:55:14 +00:00
Andri Yngvason 3e652be8d6 vnc: Add Open H.264 encoding extension 2022-04-10 13:55:14 +00:00
Andri Yngvason 14299b6cff main: Add option to turn off egl 2022-04-09 16:27:50 +00:00