diff --git a/client/common/cmdline.c b/client/common/cmdline.c index 5b8fd5b2aae6..4f135f879855 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -2245,6 +2245,15 @@ static int parse_gfx_options(rdpSettings* settings, const COMMAND_LINE_ARGUMENT_ rc = COMMAND_LINE_ERROR; } } + else if (option_starts_with("frame-ack", val)) + { + const PARSE_ON_OFF_RESULT bval = parse_on_off_option(val); + if (bval == PARSE_FAIL) + rc = COMMAND_LINE_ERROR_UNEXPECTED_VALUE; + else if (!freerdp_settings_set_bool(settings, FreeRDP_GfxSuspendFrameAck, + bval != PARSE_OFF)) + rc = COMMAND_LINE_ERROR; + } } if ((rc == CHANNEL_RC_OK) && codecSelected) diff --git a/client/common/cmdline.h b/client/common/cmdline.h index 7bfb33726a6a..ad46ee7219f3 100644 --- a/client/common/cmdline.h +++ b/client/common/cmdline.h @@ -202,7 +202,7 @@ static const COMMAND_LINE_ARGUMENT_A global_cmd_args[] = { { "gfx", COMMAND_LINE_VALUE_OPTIONAL, "[[progressive[:on|off]|RFX[:on|off]|AVC420[:on|off]AVC444[:on|off]],mask:,small-" "cache[:on|off],thin-client[:on|off],progressive[:on|" - "off]]", + "off],frame-ack[:on|off]]", NULL, NULL, -1, NULL, "RDP8 graphics pipeline" }, #if defined(WITH_FREERDP_DEPRECATED_COMMANDLINE) { "gfx-h264", COMMAND_LINE_VALUE_OPTIONAL, "[[AVC420|AVC444],mask:]", NULL, NULL, -1,