Andri Yngvason
efb5ab956c
Add debug logging for tcp address binding
2022-10-24 20:55:38 +00:00
Andri Yngvason
3588670c81
server: Replace abort() with NVNC_LOG_PANIC
2022-10-24 09:16:59 +00:00
Andri Yngvason
3c4a069ba2
tight: Disable chroma subsampling at q=9
...
This avoids color banding at the highest quality level.
2022-10-23 19:05:32 +00:00
Philipp Zabel
df84f371fe
Fix fallthrough warnings in murmurhash
...
Fix two -Wimplicit-fallthrough warnings in the murmurhash function:
../src/murmurhash.c: In function 'murmurhash':
../src/murmurhash.c:71:15: warning: this statement may fall through [-Wimplicit-fallthrough=]
71 | case 3: k ^= (tail[2] << 16);
| ~~^~~~~~~~~~~~~~~~~~
../src/murmurhash.c:72:5: note: here
72 | case 2: k ^= (tail[1] << 8);
| ^~~~
../src/murmurhash.c:72:15: warning: this statement may fall through [-Wimplicit-fallthrough=]
72 | case 2: k ^= (tail[1] << 8);
| ~~^~~~~~~~~~~~~~~~~
../src/murmurhash.c:74:5: note: here
74 | case 1:
| ^~~~
2022-10-15 10:00:43 +00:00
Jeroen Hofstee
5b2a062f0e
don't resize an encoder if it is not set
2022-10-15 09:59:05 +00:00
Andri Yngvason
b932f3e2e0
h264-encoder: Set async_depth=1
...
This fixes stalling during encoding. The FFmpeg devs seem to think that it's
normal to change the default behaviour or their code, so this needs to be
fixed here instead.
Fixes #73
2022-09-10 15:48:15 +00:00
Andri Yngvason
19538c9435
server: Fix encoding selection for sw frames
...
This fixes encoding selection when not using the --gpu option. Before this
change, raw encoding would always be selected.
Reported-by: Consolatis
Suggested-by: Consolatis
2022-08-23 22:34:56 +00:00
Andri Yngvason
c0e1159a53
Revert "h264-encoder: Add 30 bit color depth formats"
...
This reverts commit 613761cf5f
.
These are not available on older libav version and they don't event work.
2022-08-23 21:13:13 +00:00
Andri Yngvason
5e5d5d6e29
resampler: Use transformed width as destination stride
...
Fixes #72
2022-08-23 20:23:12 +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
263990f5ef
stream: Remove stray ampersand in tls handshake failure code path
2022-07-17 20:17:19 +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
Jan Beich
4baeaa43fd
server: add missing header after f20ffb5e1e
...
src/server.c:1119:17: error: use of undeclared identifier 'IPPROTO_TCP'
setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one));
^
2022-07-09 20:04:53 +00:00
Andri Yngvason
d85347cfe3
h264-encoder: Set quality
...
This is to get libav to stop complaining about quality not being set
2022-07-09 17:19:46 +00:00
Andri Yngvason
362918a8cf
Integrate libav into logging framework
2022-07-09 17:15:35 +00:00
Andri Yngvason
863fb0ce80
h264-encoder: Add dtrace probes
2022-07-09 16:30:25 +00:00
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
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
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
48baf74560
Implement client side cursor rendering
2022-02-06 16:33:46 +00:00