Do not create control socket if no control

If --no-control is enabled, then it is not necessary to create a second
communication socket between the client and the server.

This also facilitates the use of the server alone (without the client)
to receive only the raw video stream.
This commit is contained in:
Romain Vimont 2021-12-06 21:50:24 +01:00
parent 80fe12a95f
commit cabcbc2b15
3 changed files with 51 additions and 32 deletions

View file

@ -66,14 +66,15 @@ public final class Server {
Thread initThread = startInitThread(options);
boolean tunnelForward = options.isTunnelForward();
boolean control = options.getControl();
try (DesktopConnection connection = DesktopConnection.open(device, tunnelForward)) {
try (DesktopConnection connection = DesktopConnection.open(device, tunnelForward, control)) {
ScreenEncoder screenEncoder = new ScreenEncoder(options.getSendFrameMeta(), options.getBitRate(), options.getMaxFps(), codecOptions,
options.getEncoderName());
Thread controllerThread = null;
Thread deviceMessageSenderThread = null;
if (options.getControl()) {
if (control) {
final Controller controller = new Controller(device, connection, options.getClipboardAutosync());
// asynchronous