Commit Graph

390 Commits (bc87cbbb7d394e60c3ca6b288d1719bb8d5bcc25)

Author SHA1 Message Date
Andri Yngvason f20ffb5e1e server: Turn off Nagle's algorithm 2022-07-09 16:29:18 +00:00
Andri Yngvason d86af88573 server: Log encoder choices 2022-07-09 16:28:09 +00:00
Andri Yngvason dc82b3f29d h264-encoder: Clean up current_packet in destroy 2022-06-29 11:39:46 +00:00
Andri Yngvason b8122725e2 server: Reset encoder callback on frame done 2022-06-29 11:36:05 +00:00
Andri Yngvason 4eb7a3a559 h264-encoder: Call on_packet_ready last in on_work_done
The callback can result in the encoder being destroyed, so we can't
dereference access the encoder object after calling it.
2022-06-29 11:34:12 +00:00
Andri Yngvason e8f2481aa4 open-h264: unref result when finished with it 2022-06-26 14:12:37 +00:00
Andri Yngvason 8bde568112 server: Add dtrace probes with pts 2022-06-26 13:57:32 +00:00
Andri Yngvason 1e3819b6fb open-h264: Add dtrace probes 2022-06-26 13:57:32 +00:00
Andri Yngvason e05e812d93 resampler: Add dtrace probes 2022-06-26 13:57:32 +00:00
Andri Yngvason ee64bc2722 display: Add dtrace probes 2022-06-26 13:57:32 +00:00
Andri Yngvason 4e9eb98301 open-h264: Convert to normal encoder
The push/pull code path is buggy.
2022-06-26 13:56:17 +00:00
Andri Yngvason e6a12ffda7 server: Promote some log levels 2022-06-25 16:32:05 +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 d4258a0aab cursor: Handle rotated cursors 2022-06-11 11:44:51 +00:00
Andri Yngvason bab78857e1 resampler: Extract function: resample_now() 2022-06-11 11:44:51 +00:00
Harm te Hennepe 7205139b11 Don't call gbm symbols when they are not available 2022-05-24 22:55:34 +00:00
Jan Beich da290abc25 server: consistently use builtin byteswap after 53f88894d5
src/server.c:48:10: fatal error: 'byteswap.h' file not found
 #include <byteswap.h>
          ^~~~~~~~~~~~
2022-04-24 17:56:03 +00:00
Andri Yngvason 53f88894d5 Add presentation timestamps 2022-04-14 18:10:09 +00:00
Andri Yngvason e2e117b02f h264-encoder: Fully flush output packets 2022-04-10 16:21:28 +00:00
Andri Yngvason 3ea068b90c server: Decrement n_pending_requests after dispathing encoding job
The request is as good as handled at that point. We don't want to squeeze
in another frame that the client didn't request before the encoding job
finishes. That would cause a negative pending count and the client would
stop getting updates.
2022-04-03 20:52:24 +00:00
Andri Yngvason 9d8c956983 h264-encoder: Fix copy-pasta 2022-03-06 11:24:33 +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 9c02e6afaf Implement hiding cursors 2022-02-20 14:48:24 +00:00
Andri Yngvason 1553c88f5e Add width and height arguments to nvnc_set_cursor 2022-02-19 23:06:15 +00:00
Andri Yngvason afc0f018da cursor: Use the right scan-line length when width != stride 2022-02-19 21:51:24 +00:00
Andri Yngvason cb282c57c4 cursor: Map cursor buffers before access 2022-02-13 18:44:27 +00:00
Andri Yngvason adce5170ee examples: draw: Handle different endianness for cursor colour 2022-02-12 13:28: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 4dcf8ec25b test: pixels: Add a unit test for pixel32_to_cpixel 2022-02-12 12:13:42 +00:00
Andri Yngvason 1f043d6992 Add some unit tests for pixel conversions 2022-02-10 21:53:33 +00:00
Andri Yngvason 70784e1bcc cursor: Fix alpha mask stride 2022-02-10 21:53:33 +00:00
Andri Yngvason 9a292afd52 pixels: Handle different endianness for alpha mask 2022-02-10 21:53:33 +00:00
Andri Yngvason c0d1455686 examples: draw: Add a client-side cursor 2022-02-06 16:33:46 +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 613761cf5f h264-encoder: Add 30 bit color depth formats 2022-01-27 22:31:32 +00:00
Andri Yngvason 648255769a pixels: Add 10-bits-per-colour formats 2022-01-27 22:11:51 +00:00
Andri Yngvason fd23cb8c2f enc-util: Round up division in calc_bytes_per_cpixel
Otherwise 10 bit formats will be mistaken for 8 bit formats.
2022-01-27 22:10:37 +00:00
Andri Yngvason 5dc6a28828 h264-encoder: Automatically find a render node 2021-12-26 13:10:41 +00:00
Andri Yngvason 5a75fdf2bc display: Only run damage refinery when it's needed 2021-12-26 13:10:41 +00:00
Andri Yngvason c5a5437a9e server: Keep a count of clients that use damage 2021-12-26 13:10:41 +00:00
Andri Yngvason 55beea3464 open-h264: Set "ignores-damage" flag 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 90f61f03c6 Plug open h264 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