diff --git a/server/src/main/java/com/genymobile/scrcpy/Options.java b/server/src/main/java/com/genymobile/scrcpy/Options.java index e8da1219..d16c452d 100644 --- a/server/src/main/java/com/genymobile/scrcpy/Options.java +++ b/server/src/main/java/com/genymobile/scrcpy/Options.java @@ -79,6 +79,7 @@ public class Options { private boolean sendFrameMeta = true; // send PTS so that the client may record properly private boolean sendDummyByte = true; // write a byte on start to detect connection issues private boolean sendCodecMeta = true; // write the codec metadata before the stream + private boolean netArgs = false; public Ln.Level getLogLevel() { return logLevel; @@ -288,6 +289,10 @@ public class Options { return sendCodecMeta; } + public boolean getEnableNetworkArgs() { + return netArgs; + } + private void parseKeyValue(String key, String value) { switch (key) { case "scid": @@ -492,6 +497,9 @@ public class Options { this.sendCodecMeta = false; } break; + case "net_args": + this.netArgs = Boolean.parseBoolean(value); + break; default: Ln.w("Unknown server option: " + key); break; diff --git a/server/src/main/java/com/genymobile/scrcpy/Server.java b/server/src/main/java/com/genymobile/scrcpy/Server.java index 32a16a2b..921ede11 100644 --- a/server/src/main/java/com/genymobile/scrcpy/Server.java +++ b/server/src/main/java/com/genymobile/scrcpy/Server.java @@ -95,16 +95,18 @@ public final class Server { DesktopConnection connection = DesktopConnection.open(scid, tunnelForward, video, audio, control, sendDummyByte); try { - Ln.d("Waiting for additional args (JSON) ..."); - String additionalOptions = connection.receiveAdditionalOptions(); + if (options.getEnableNetworkArgs()) { + Ln.d("Waiting for additional args (JSON) ..."); + String additionalOptions = connection.receiveAdditionalOptions(); - if (additionalOptions != null && !additionalOptions.isEmpty()) { - Ln.d("Received additional options: " + additionalOptions); - String args = StringUtils.jsonToArgs(additionalOptions); - Ln.d("Additional args: " + args); - options.parseAdditional(args.split(" ")); - } else { - Ln.d("No additional args received."); + if (additionalOptions != null && !additionalOptions.isEmpty()) { + Ln.d("Received additional options: " + additionalOptions); + String args = StringUtils.jsonToArgs(additionalOptions); + Ln.d("Additional args: " + args); + options.parseAdditional(args.split(" ")); + } else { + Ln.d("No additional args received."); + } } if (Build.VERSION.SDK_INT < AndroidVersions.API_31_ANDROID_12 && options.getVideoSource() == VideoSource.CAMERA) {