ACK, but gtk/spice-option.c needs similar changes otherwise remote-viewer won't pick up the new compression parameters. Christophe On Mon, Apr 27, 2015 at 10:04:35AM +0200, Javier Celaya wrote: > --- > gtk/spice-cmdline.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 48 insertions(+) > > diff --git a/gtk/spice-cmdline.c b/gtk/spice-cmdline.c > index 8619b57..c52b1a2 100644 > --- a/gtk/spice-cmdline.c > +++ b/gtk/spice-cmdline.c > @@ -27,6 +27,39 @@ static char *port; > static char *tls_port; > static char *password; > static char *uri; > +static int preferred_compression; > + > +GQuark spice_cmdline_error_quark(void) > +{ > + return g_quark_from_static_string("spice-cmdline-error"); > +} > + > +static gboolean parse_preferred_compression(const gchar *option_name, const gchar *value, > + gpointer data, GError **error) { > + if (!strcmp(value, "auto-glz")) { > + preferred_compression = SPICE_IMAGE_COMPRESS_AUTO_GLZ; > + } else if (!strcmp(value, "auto-lz")) { > + preferred_compression = SPICE_IMAGE_COMPRESS_AUTO_LZ; > + } else if (!strcmp(value, "quic")) { > + preferred_compression = SPICE_IMAGE_COMPRESS_QUIC; > + } else if (!strcmp(value, "glz")) { > + preferred_compression = SPICE_IMAGE_COMPRESS_GLZ; > + } else if (!strcmp(value, "lz")) { > + preferred_compression = SPICE_IMAGE_COMPRESS_LZ; > +#ifdef USE_LZ4 > + } else if (!strcmp(value, "lz4")) { > + preferred_compression = SPICE_IMAGE_COMPRESS_LZ4; > +#endif > + } else if (!strcmp(value, "off")) { > + preferred_compression = SPICE_IMAGE_COMPRESS_OFF; > + } else { > + preferred_compression = SPICE_IMAGE_COMPRESS_INVALID; > + g_set_error(error, spice_cmdline_error_quark(), G_OPTION_ERROR_FAILED, > + _("Image compression algorithm %s not supported"), value); > + return FALSE; > + } > + return TRUE; > +} > > static GOptionEntry spice_entries[] = { > { > @@ -64,6 +97,17 @@ static GOptionEntry spice_entries[] = { > .description = N_("Server password"), > .arg_description = N_("<password>"), > },{ > + .long_name = "preferred-compression", > + .short_name = 'c', > + .arg = G_OPTION_ARG_CALLBACK, > + .arg_data = parse_preferred_compression, > + .description = N_("Preferred image compression algorithm"), > +#ifdef USE_LZ4 > + .arg_description = N_("<auto-glz|auto-lz|quic|glz|lz|lz4|off>"), > +#else > + .arg_description = N_("<auto-glz|auto-lz|quic|glz|lz|off>"), > +#endif > + },{ > /* end of list */ > } > }; > @@ -72,6 +116,8 @@ GOptionGroup *spice_cmdline_get_option_group(void) > { > GOptionGroup *grp; > > + preferred_compression = SPICE_IMAGE_COMPRESS_INVALID; > + > grp = g_option_group_new("spice", > _("Spice connection options:"), > _("Show Spice options"), > @@ -95,4 +141,6 @@ void spice_cmdline_session_setup(SpiceSession *session) > g_object_set(session, "tls-port", tls_port, NULL); > if (password) > g_object_set(session, "password", password, NULL); > + if (preferred_compression != SPICE_IMAGE_COMPRESS_INVALID) > + g_object_set(session, "preferred-compression", preferred_compression, NULL); > } > -- > 1.9.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
pgpXJPMvftQ48.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel