add parameter "net_args" to enable/disable dynamic args

This commit is contained in:
netwdev 2025-04-16 23:39:01 +02:00
parent 9833735952
commit ac219a49d6
2 changed files with 19 additions and 9 deletions

View file

@ -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;

View file

@ -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) {