[Spice-devel] [PATCH spice-gtk v3 3/3] Display: Send a preferred compression message on init.
Christophe Fergeau
cfergeau at redhat.com
Tue Jun 2 05:26:58 PDT 2015
On Mon, Jun 01, 2015 at 04:48:48PM +0200, Javier Celaya wrote:
> If the user prefers a specific compression algorithm, report it when
> setting up the display channel.
> ---
> gtk/channel-display.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/gtk/channel-display.c b/gtk/channel-display.c
> index efe2259..b440f9b 100644
> --- a/gtk/channel-display.c
> +++ b/gtk/channel-display.c
> @@ -789,12 +789,15 @@ static void spice_display_channel_up(SpiceChannel *channel)
> SpiceMsgOut *out;
> SpiceSession *s = spice_channel_get_session(channel);
> SpiceMsgcDisplayInit init;
> + SpiceMsgcDisplayPreferredCompression pref_comp_msg;
> int cache_size;
> int glz_window_size;
> + SpiceImageCompress preferred_compression = SPICE_IMAGE_COMPRESS_INVALID;
>
> g_object_get(s,
> "cache-size", &cache_size,
> "glz-window-size", &glz_window_size,
> + "preferred-compression", &preferred_compression,
> NULL);
> CHANNEL_DEBUG(channel, "%s: cache_size %d, glz_window_size %d (bytes)", __FUNCTION__,
> cache_size, glz_window_size);
> @@ -810,6 +813,15 @@ static void spice_display_channel_up(SpiceChannel *channel)
> this monitor */
> if (channel->priv->channel_id != 0)
> g_coroutine_object_notify(G_OBJECT(channel), "monitors");
> +
> + if (spice_channel_test_capability(channel, SPICE_DISPLAY_CAP_PREF_COMPRESSION) &&
> + preferred_compression > SPICE_IMAGE_COMPRESS_INVALID &&
> + preferred_compression < SPICE_IMAGE_COMPRESS_ENUM_END) {
I'd deal with the "preferred_compression >=
SPICE_IMAGE_COMPRESS_ENUM_END" case with a g_warn_if_fail() as
g_param_spec_enum should guarantee that you won't get a value not
covered by the registered GEnum.
Christophe
> + pref_comp_msg.image_compression = preferred_compression;
> + out = spice_msg_out_new(channel, SPICE_MSGC_DISPLAY_PREFERRED_COMPRESSION);
> + out->marshallers->msgc_display_preferred_compression(out->marshaller, &pref_comp_msg);
> + spice_msg_out_send_internal(out);
> + }
> }
>
> #define DRAW(type) { \
> --
> 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/20150602/79cd099c/attachment.sig>
More information about the Spice-devel
mailing list