Commit Graph

119 Commits (5f492da3d15186d5b62e2636d3459c4f3654d3e0)

Author SHA1 Message Date
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
Andri Yngvason ed4c8b1cd0 renderer-egl: Only copy damaged regions 2022-04-09 16:21:17 +00:00
Andri Yngvason 698ac6947b Pass frame damage to renderer via image struct 2022-04-09 16:19:57 +00:00
Andri Yngvason 040a87836d buffer: Clean up damage 2022-04-09 16:19:08 +00:00
Andri Yngvason 9afe099377 buffer: Apply full damage to new dmabuf 2022-04-09 16:18:35 +00:00
Andri Yngvason e6ea9068f0 Implement GL rendering 2022-04-09 15:21:24 +00:00
Andri Yngvason 07e8e5c303 Add dmabuf 2022-04-09 12:09:11 +00:00
Andri Yngvason 6bba21283f Move buffer functions into own file 2022-04-09 11:36:09 +00:00
Andri Yngvason ec51388fec Extract rendering into own unit 2022-04-03 22:17:27 +00:00
Andri Yngvason 9c7a4d6b07 Use drm format instead of wl_shm_format
Using the drm fourcc format as the main pixel format, helps when
adding linux-dmabuf support.
2022-04-03 19:00:19 +00:00
Andri Yngvason 15b5d5a33f Scale image to fit window 2022-04-02 12:51:37 +00:00
Andri Yngvason 545be152ce Add pixman region utils 2022-04-02 12:49:41 +00:00
Andri Yngvason 80d18ac6aa main: Use pixman for rendering 2022-03-30 21:48:54 +00:00
Andri Yngvason 767f7ce816 Add pixel format conversion utils 2022-03-30 21:48:21 +00:00
Andri Yngvason 1a713b6642 Use intermediate pixel buffer for VNC client 2022-03-28 21:40:44 +00:00
Andri Yngvason 1ca82ce2e2 meson: Don't require libvncserver as a subproject 2020-12-06 22:16:58 +00:00
Andri Yngvason 2414e23dd6 Use double-buffering
Without double-buffering there's a slight chance that the vnc code could
start writing to the buffer before the compositor is done with it.
2020-12-06 21:04:56 +00:00
Andri Yngvason 977f34224c Don't crash if cut_text cb isn't implemented 2020-12-06 20:00:49 +00:00
Andri Yngvason 86283fd8d1 vnc: Add cut-text events 2020-12-06 19:52:02 +00:00
Andri Yngvason 67676b224e vnc: Send regular key event if extended fails 2020-12-06 19:40:51 +00:00
Andri Yngvason 7c8c29beb2 Print an 'oops' when the wl_buffer is still attached during drawing 2020-12-06 19:30:46 +00:00
Andri Yngvason c45613dbe7 README: Update instructions to include libvncserver as subproject 2020-12-06 15:59:00 +00:00
Andri Yngvason 339cd4b0ad meson: Don't install libvncserver subproject 2020-12-06 15:32:08 +00:00
Andri Yngvason 31fcdc9d78 meson: Use static linking for aml subproject 2020-12-06 15:03:57 +00:00
Andri Yngvason 56ffc014ca meson: Use static linking for libvncserver subproject 2020-12-06 14:57:09 +00:00
Andri Yngvason 4493e68115 Send qemu extended key events 2020-11-30 21:59:55 +00:00
Andri Yngvason 04659825a6 meson: Make it possible to build libvncclient as subproject 2020-11-30 21:19:10 +00:00
Andri Yngvason 67bd3331e5 Don't set NULL encodings when -e is not set 2020-08-07 10:56:28 +00:00
Andri Yngvason f7aab11128 pointer: Translate contiguous scroll to discrete scroll 2020-07-19 21:55:40 +00:00
Andri Yngvason e55a845920 Add discrete pointer scroll 2020-07-19 20:39:18 +00:00
Andri Yngvason e7a1460cb8 Add option to disable cursor 2020-07-14 21:17:36 +00:00
Andri Yngvason a1d455b0c5 pointer: Set cursor on pointer enter 2020-07-14 20:44:18 +00:00
Andri Yngvason 91c7a76ef3 Make wl_shm and wl_compositor visible in other compilation units 2020-07-14 20:43:26 +00:00
Andri Yngvason 545c4e122c Set the app-id of the window 2020-07-12 11:26:19 +00:00
Andri Yngvason fb0a22caa6 vnc: Add copyright notice 2020-07-12 11:17:03 +00:00
Andri Yngvason 905eb8dc29 Add options for quality, compression and encodings 2020-07-11 22:24:11 +00:00
Andri Yngvason 0c43623ceb main: Remove leaky abstraction for vnc connection 2020-07-11 21:40:48 +00:00
Andri Yngvason c35974044d Fix name of executable 2020-07-11 21:35:13 +00:00
Andri Yngvason 0a68dbb720 Create a nicer API around libvncclient
This hides some implementation details of libvncclient from the rest of
the system and reduces coupling.
2020-07-11 17:54:35 +00:00