[Spice-devel] [PATCH spice-gtk v4 2/3] Add a preferred-compression program option

Christophe Fergeau cfergeau at redhat.com
Thu Jun 4 01:58:48 PDT 2015


Only change was the subject? ACK.

Christophe

On Wed, Jun 03, 2015 at 04:58:18PM +0200, Javier Celaya wrote:
> ---
>  gtk/spice-option.c | 37 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
> 
> diff --git a/gtk/spice-option.c b/gtk/spice-option.c
> index 958e03c..463a3e3 100644
> --- a/gtk/spice-option.c
> +++ b/gtk/spice-option.c
> @@ -41,6 +41,7 @@ static gint cache_size = 0;
>  static gint glz_window_size = 0;
>  static gchar *secure_channels = NULL;
>  static gchar *shared_dir = NULL;
> +static SpiceImageCompress preferred_compression = SPICE_IMAGE_COMPRESS_INVALID;
>  
>  G_GNUC_NORETURN
>  static void option_version(void)
> @@ -149,6 +150,33 @@ static gboolean parse_usbredir_filter(const gchar *option_name,
>      return TRUE;
>  }
>  
> +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, G_OPTION_ERROR, G_OPTION_ERROR_FAILED,
> +                    _("Image compression algorithm %s not supported"), value);
> +        return FALSE;
> +    }
> +    return TRUE;
> +}
>  
>  /**
>   * spice_get_option_group: (skip)
> @@ -194,6 +222,13 @@ GOptionGroup* spice_get_option_group(void)
>            N_("Glz compression history size"), N_("<bytes>") },
>          { "spice-shared-dir", '\0', 0, G_OPTION_ARG_FILENAME, &shared_dir,
>            N_("Shared directory"), N_("<dir>") },
> +        { "spice-preferred-compression", '\0', 0, G_OPTION_ARG_CALLBACK, parse_preferred_compression,
> +          N_("Preferred image compression algorithm"),
> +#ifdef USE_LZ4
> +          "<auto-glz,auto-lz,quic,glz,lz,lz4,off>" },
> +#else
> +          "<auto-glz,auto-lz,quic,glz,lz,off>" },
> +#endif
>  
>          { "spice-debug", '\0', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, option_debug,
>            N_("Enable Spice-GTK debugging"), NULL },
> @@ -281,4 +316,6 @@ void spice_set_session_option(SpiceSession *session)
>          g_object_set(session, "glz-window-size", glz_window_size, NULL);
>      if (shared_dir)
>          g_object_set(session, "shared-dir", shared_dir, 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20150604/75613237/attachment.sig>


More information about the Spice-devel mailing list