Commit Graph

81 Commits (0a70f7fa6a866112215c7f7ae66f23f17bb91dd1)

Author SHA1 Message Date
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
Andri Yngvason dad1948e98 Remove nvnc_fb_flags 2021-09-05 00:46:24 +00:00
Andri Yngvason b75eeac03d Add API function for creating nvnc_fb from an pre-allocated buffer 2021-09-05 00:46:24 +00:00
Andri Yngvason 96886e21d5 Add a API function to get the pixel size of nvnc_fb 2021-09-05 00:46:24 +00:00
Andri Yngvason c7dd062498 Add a stride parameter to nvnc_fb 2021-09-05 00:46:24 +00:00
Andri Yngvason e8e4a9469a Remove damage checker
There's a much better one in wayvnc
2021-09-05 00:46:24 +00:00
Andri Yngvason 77d8efcbe3 fb_pool: Return true from resize when dimensions change 2021-09-04 21:21:23 +00:00
Andri Yngvason 1b7b51af44 Add a cleanup callback to nvnc_set_userdata 2021-09-04 21:21:23 +00:00
Andri Yngvason f5b0f508f0 fb: Use special context pointer for release callback 2021-09-04 21:21:23 +00:00
Andri Yngvason f566105ab5 Remove nvnc_set_render_fn 2021-09-04 21:21:23 +00:00
Andri Yngvason 981256d8d5 Add a buffer pool 2021-09-04 21:21:23 +00:00
Andri Yngvason d63feadeab Notify the user when an fb is released 2021-09-04 21:21:23 +00:00
Andri Yngvason 031555c85d fb: Add hold/release logic 2021-09-04 21:21:23 +00:00
Ryan Farley b320723049 Support UNIX sockets
Adds support for UNIX domain sockets with `nvnc_open_unix()` function.
Closes #1.
2021-04-04 20:24:33 +00:00
Andri Yngvason ea98af75de Notify client about qemu key capability 2020-11-29 18:36:48 +00:00
Andri Yngvason dbe35bc3ad Add qemu extended key events 2020-11-29 18:36:48 +00:00
Andri Yngvason efaa2bf265 rfb-proto: Add qemu key event extension 2020-11-29 18:36:48 +00:00
Andri Yngvason e69006fc48 tight: Hold fb and client refs while encoding 2020-09-27 17:17:22 +00:00
Andri Yngvason af38a643d9 tight: Don't block 1 worker while encoding tiles 2020-09-27 12:37:00 +00:00
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 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 addcc50483 Bake version info into library 2020-07-26 11:43:29 +00:00
Andri Yngvason e1c0923915 stream: Add byte counters 2020-07-26 11:43:29 +00:00
Andri Yngvason 76beec6415 tight: Add method to resize encoder grid 2020-07-19 16:57:44 +00:00
Andri Yngvason a0801f04e4 Implement server-side resizing 2020-07-19 11:54:39 +00:00
Andri Yngvason 497f9adb29 tight: Re-implement with threads 2020-07-11 20:06:45 +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
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 d12e66b043 raw-encoding: Add copyright notice 2020-04-12 13:18:42 +00:00
Andri Yngvason a616423c49 fb: Add copyright notice 2020-04-12 13:17:54 +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 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