Chris Spencer
b34b253814
[client] audio: stop playback immediately if new playback is started
...
If a new playback is started while the previous playback is still flushing,
we simply allow the stream to continue playing and effectively cancel the
flush. In general this is not safe because there may not be enough data in
the buffer to avoid underrunning. We could handle this better later by
trying to insert the right number of silent samples into the buffer, but
for now just completely stop the previous stream before starting the new
one.
2022-01-27 18:03:11 +11:00
Chris Spencer
68b42e1c1a
[client] audio/pw: drop restarting state
...
Automatically restarting playback once draining has completed could result
in playback starting too early (i.e., before there is enough data in the
ring buffer to avoid underrunning). `audio_playbackData` will keep invoking
`start` until it returns true anyway, so we can just allow draining to
complete normally and wait for `start` to be called again.
2022-01-27 18:03:11 +11:00
Chris Spencer
8580978321
[client] audio/pw: drop redundant flushing state
...
We do not stop the audio device until after the internal buffer has already
been flushed, so this state does nothing useful.
2022-01-27 18:03:11 +11:00
Quantum
d93510e9f2
[host] linux: allow getting system version
...
Result is something like:
Debian GNU/Linux 11 (bullseye), kernel: Linux 5.14.0-0.bpo.2-amd64 on x86_64
2022-01-27 05:47:53 +11:00
Quantum
75ec3c0478
[host] nvfbc: shorten nvfbc_getName() result
...
To avoid client showing "Using : NVFBC (NVidia Frame Buffer Capt".
This happens because the string is truncated to 31 characters to fit
in the char capture[32]; member of KVMFRRecord_VMInfo.
2022-01-26 23:06:47 +11:00
Quantum
e85fd68d82
[host] windows: read ProductName from registry if possible
...
For Windows 10, it so happens that the major.minor is 10.0. This is not
usually a given, e.g. on Windows 7 where it would read 6.1, on
Windows 8 it would read 6.2, and on Windows 8.1 it would read 6.3.
This is obviously undesirable, so we should just read the ProductName
from registry if possible. This results in something like:
OS Name: Windows 10 Pro for Workstations (Build: 19043)
2022-01-26 23:06:14 +11:00
Quantum
f247d7f0da
[host] app: don't read from UUID if none is returned
...
This allows the Linux host to start.
2022-01-26 23:05:31 +11:00
Geoffrey McRae
b0568ca404
[client] egl: use a sigmoid curve for nv
2022-01-26 23:03:35 +11:00
Geoffrey McRae
3c9b9e6370
[client] main: fix heap-buffer-overflow on cursor update
2022-01-26 20:05:51 +11:00
Geoffrey McRae
db3d20f935
[host] windows: report windows version information
2022-01-26 19:58:46 +11:00
Geoffrey McRae
ccdf7b7c0e
[host] app: report the full capture name to the client
2022-01-26 19:32:55 +11:00
Geoffrey McRae
efa49391fc
[client] fix race segfault on pointer queue unsubscribe/timeout
2022-01-26 17:20:12 +11:00
Geoffrey McRae
fb4bdaee2b
[client] egl: set the active preset if specified at launch
2022-01-26 16:07:17 +11:00
Geoffrey McRae
c7389285f9
[client] egl: fix null pointer access when no preset is set
2022-01-26 16:04:15 +11:00
Geoffrey McRae
aa426d13a7
[client] egl: added egl:preset
to load a default preset at startup
2022-01-26 16:00:07 +11:00
Geoffrey McRae
89c83dafc1
[client] egl: make egl less noisy unless debug is specified
2022-01-26 15:42:33 +11:00
Geoffrey McRae
05e363e009
[client] x11: cleanup duplicated code
2022-01-26 15:30:38 +11:00
Geoffrey McRae
e17b289759
[client] x11: sync the mouse on meta resize
2022-01-26 14:55:30 +11:00
Geoffrey McRae
79e986cc60
[client] x11: fix failure to unfocus when performing meta resize/move
2022-01-26 14:43:11 +11:00
Geoffrey McRae
22f3cf5ba6
[client] egl: fix masked color cursor blend operation for xor drawing
2022-01-26 12:23:05 +11:00
Geoffrey McRae
3067bdaa15
[client] egl: properly apply xor mask to masked color cursors
2022-01-26 12:11:43 +11:00
Geoffrey McRae
f3ebde7d9f
[common] ivshmem: fix memory leak
2022-01-25 03:37:56 +11:00
Geoffrey McRae
905c1d7f58
[common] ivshmem: check for failure to find a device
2022-01-25 03:37:56 +11:00
Quantum
11800029f0
[client] core: redraw cursor after warping guest cursor
2022-01-24 17:07:15 +11:00
Quantum
71901414d1
[client] overlay: realign cursor when turning off overlay
...
This is only done in non-capture mode to avoid messing up games.
2022-01-24 17:07:15 +11:00
Geoffrey McRae
96fa8891c8
[client] egl: fixed incorrect drawing of masked color cursors
2022-01-24 06:56:32 +11:00
Geoffrey McRae
1082875b8e
[client] opengl: fix startup since ImGui upgrade
2022-01-24 06:42:16 +11:00
Geoffrey McRae
dc918c55b6
[client] main: only copy the needed cursor data instead of everything
2022-01-24 06:36:15 +11:00
Geoffrey McRae
a8ba014b52
[client] main: lgmpClientMessageDone is not idempotent
2022-01-24 04:10:49 +11:00
Quantum
9a6aa3ce66
[client] egl: remove duplicate #include "app.h"
2022-01-23 08:49:15 +11:00
Quantum
f2fbb2b27c
[client] opengl: make draw functions static
2022-01-23 08:49:01 +11:00
Geoffrey McRae
829db8a0e4
[client] spice: update the submodule to fix invalid header errors
2022-01-22 18:23:33 +11:00
Geoffrey McRae
9601bc677f
[client] audio: report the buffered frames and not the buffer length
2022-01-22 16:06:16 +11:00
Jonathan Rubenstein
aba30e9541
[doc] build: Add source comment for listing deps
2022-01-20 17:49:35 +11:00
Geoffrey McRae
c84879717f
[client] audio: fix failure to properly handle restart if draining
2022-01-20 07:02:00 +11:00
Geoffrey McRae
b3c81bcedf
[client] audio: fix use after free race
2022-01-19 18:50:39 +11:00
Geoffrey McRae
7f4dcd1ced
[client] spice: update PureSpice submodule to reduce audio latency
2022-01-19 18:32:22 +11:00
Geoffrey McRae
15f76339c8
[client] audio: move the memory copy into the pull function
2022-01-19 10:29:49 +11:00
Geoffrey McRae
99536eaf9d
dxgi: check for memory leaks in d3d12
2022-01-19 09:58:14 +11:00
Geoffrey McRae
f8b4874799
dxgi: cosmetics
2022-01-19 09:58:14 +11:00
Geoffrey McRae
cff64ee7d3
dxgi: cache shared handles instead of re-creating them
...
This will cache up to 10 handles, in practice I have never seen DXGI
return anything but the same resource each time but we allow for more
anyway should MS change something in the future.
Should the cache get over filled it is disabled entirely and we revert
to the original behaviour.
2022-01-19 09:58:07 +11:00
Geoffrey McRae
04ae9217e8
[client] audio: allow the audiodev to determine the start fill level
2022-01-19 01:52:19 +11:00
Geoffrey McRae
46da447429
[client] audio: fix latency calculation
2022-01-19 00:58:48 +11:00
Geoffrey McRae
4b080f7610
[client] audio: don't lock when consuming frames from the buffer
2022-01-19 00:25:52 +11:00
Geoffrey McRae
d6bbc4f89c
[client] audio/pw: return the actual playback latency
2022-01-19 00:03:16 +11:00
Geoffrey McRae
4fadf3a130
[client] audio: tell the audiodev to stop on the last packet, not after
2022-01-18 23:43:12 +11:00
Geoffrey McRae
73dc08e5f9
[client] audio: remove duplicated line
2022-01-18 23:42:02 +11:00
Geoffrey McRae
07c92ec2e8
[client] audio: drain buffers on stop instead of just discarding them
2022-01-18 23:39:05 +11:00
Geoffrey McRae
b334f22223
[client] audio: rework audiodevs to be pull model from a common buffer
2022-01-18 09:02:44 +11:00
Geoffrey McRae
aad65c1cab
[client] graphs: overlay on removal of graph
2022-01-17 22:53:52 +11:00