Commit Graph

115 Commits (0cdbf6a602caf99802439b5653128ba15a7566d7)

Author SHA1 Message Date
Andri Yngvason 0cdbf6a602 stream: Add exec_and_send function
This allows us to execute a function right before a leaves the send queue
and is really only useful for NTP as far as I can tell.
2023-04-08 13:02:45 +00:00
Andri Yngvason 19172140ba Add NTP inspired latency tracking and time sync 2023-04-07 21:24:22 +00:00
Andri Yngvason 8847511596 Implement websocket 2023-04-07 12:47:49 +00:00
Andri Yngvason e385a98238 stream: Add a cork to pause sending 2023-04-07 12:47:49 +00:00
Andri Yngvason 979d10ce62 Turn stream into abstract interface class 2023-04-06 21:02:39 +00:00
Philipp Zabel e19c9ad600 Implement desktop resizing
Implement minimal support for ExtendedDesktopSize pseudo-encoding
and SetDesktopSize client message.

The opaque nvnc_desktop_layout structure contains all information
from the SetDesktopSize client message.
2023-02-25 11:03:44 +00:00
Jim Ramsay 332be4d471 Add nvnc_client_close API
This allows the user or application to terminate any given nvnc_client
connection at any time.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-11-24 16:08:06 +00:00
Andri Yngvason 8f979c9928 Pass nvnc_client to cut-text callback 2022-11-20 22:42:01 +00:00
Andri Yngvason 79f26924ea Add functions for listing clients 2022-11-20 12:03:18 +00:00
Andri Yngvason f31ddf7fe9 enc-util: Add function to calculate region area 2022-11-05 13:52:55 +00:00
Andri Yngvason 935ce4e98d Remove push/pull encoder interface
Think of it as a failed experiment.
2022-11-05 10:15:56 +00:00
Jim Ramsay 036b549fd8 Record authenticated username for each connected client
Signed-off-by: Jim Ramsay <jramsay@redhat.com>
2022-11-04 09:41:14 +00:00
Jim Ramsay 86bd2ced85 Record hostname for each connected client
Signed-off-by: Jim Ramsay <jramsay@redhat.com>
2022-11-04 09:41:14 +00:00
Andri Yngvason baaf84eab9 Reference count encoders 2022-10-30 12:44:05 +00:00
Andri Yngvason adef210252 fb-pool: Add setter for fb allocator 2022-10-29 18:40:02 +00:00
Philipp Zabel affd7f3f6d Allow to query client-side cursor support
Add a function nvnc_client_supports_cursor() to enable the API user to
make an informed decision whether nvnc_set_cursor() can be expected to
make the client draw the cursor, or whether it has to be rendered into
the framebuffer.
2022-07-29 08:37:29 +00:00
Andri Yngvason d18cc4fc57 Add constants for left and right scroll 2022-07-28 20:13:48 +00:00
Andri Yngvason b9a5b9a3f1 h264: Set quality according to client's wishes 2022-07-10 13:53:32 +00:00
Andri Yngvason 528eac51a3 Fix jpeg quality setting
The encoding identifiers are supposed to be interpreted as a range. I
interpreted the upper and lower limits as two discrete quality settings
instead, which is wrong.
2022-07-10 12:41:20 +00:00
Andri Yngvason 362918a8cf Integrate libav into logging framework 2022-07-09 17:15:35 +00:00
Andri Yngvason ad4a834cfc Use new logging system 2022-06-25 16:15:32 +00:00
Andri Yngvason 45da0fc157 Add simple logging system 2022-06-25 16:15:32 +00:00
Andri Yngvason 9285594e9d Call encoder.on_done in a function 2022-06-11 11:44:51 +00:00
Andri Yngvason bab78857e1 resampler: Extract function: resample_now() 2022-06-11 11:44:51 +00:00
Andri Yngvason 53f88894d5 Add presentation timestamps 2022-04-14 18:10:09 +00:00
Andri Yngvason aca09358ea Add back damage argument to nvnc_set_cursor
It's better to keep feeding buffers to keep buffers in rotation for damage
tracking purposes.
2022-02-21 21:43:41 +00:00
Andri Yngvason 1553c88f5e Add width and height arguments to nvnc_set_cursor 2022-02-19 23:06:15 +00:00
Andri Yngvason c876b91541 pixels: Add function to get rfb pixel format name 2022-02-12 13:15:30 +00:00
Andri Yngvason 0e0fe5b73a pixels: Add function to convert drm format to string 2022-02-12 12:30:12 +00:00
Andri Yngvason 48baf74560 Implement client side cursor rendering 2022-02-06 16:33:46 +00:00
Andri Yngvason 258dccd768 Add a cursor encoder 2022-02-06 16:33:46 +00:00
Andri Yngvason 0cc6be091c pixels: Add function to extract alpha mask 2022-02-06 15:01:33 +00:00
Andri Yngvason c5a5437a9e server: Keep a count of clients that use damage 2021-12-26 13:10:41 +00:00
Andri Yngvason d702939969 encoder: Add impl flags 2021-12-26 13:10:41 +00:00
Andri Yngvason 0a70f7fa6a encoder: Add push/pull encoder interface 2021-12-26 13:10:41 +00:00
Andri Yngvason e1ba4e1085 API: Add nvnc_fb_get_type 2021-12-26 13:10:41 +00:00
Andri Yngvason 1113b6b12a rfb-proto: Add identifier for Open H.264 2021-12-26 13:10:41 +00:00
Andri Yngvason b71598b334 Create h264-encoder 2021-12-26 13:10:41 +00:00
Andri Yngvason 65c0e91c37 Move update header out of encoders 2021-12-12 16:05:29 +00:00
Andri Yngvason 8b2c81c3dd Add offset coordinates to encoders 2021-12-11 21:55:56 +00:00
Andri Yngvason 42b102df0c Remove unused headers 2021-12-11 21:07:41 +00:00
Andri Yngvason a7241658b0 Create encoder abstraction 2021-12-11 21:03:18 +00:00
Andri Yngvason 26ff812ea6 Add damage refinery from wayvnc 2021-09-20 21:40:21 +00:00
Andri Yngvason 943bd33993 resampler: Make resampler object opaque 2021-09-20 21:40:21 +00:00
Andri Yngvason 0d4ab56568 transform-util: Add dimensions transform function 2021-09-19 21:11:54 +00:00
Andri Yngvason 02559a7f7e Re-sample transformed framebuffers 2021-09-19 20:12:30 +00:00
Andri Yngvason 691e835d1b fb: Add transform attribute 2021-09-19 19:56:56 +00:00
Andri Yngvason 784af9fa5d Add transform utility functions from wayvnc 2021-09-19 19:54:59 +00:00
Andri Yngvason dad7312814 pixels: Add fourcc_to_pixman_fmt 2021-09-19 19:54:23 +00:00
Andri Yngvason cf42f76f56 Add gbm_bo nvnc_fb type 2021-09-12 18:51:22 +00:00