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.
If a TLS stream is closed by the remote VNC client,
stream__remote_closed must be called to signal the server.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
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:
| ^~~~
src/log.c uses av_log_set_level() and av_log_set_callback() from
libavutil if HAVE_LIBAVUTIL is set, so the libavutil dependence
must be added at the same time. Since libav logging is only used
by the h264 code, enable it all together for now.
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
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
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.
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.