From: Corentin Chary Date: Wed, 19 May 2010 07:24:05 +0000 (+0200) Subject: vnc: adjust compression zstream level X-Git-Tag: TizenStudio_2.0_p2.3~4694 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a3af141f44ba0d224b49f37d5f69cdf81abfa2da;p=sdk%2Femulator%2Fqemu.git vnc: adjust compression zstream level Adjust zlib compression level if needed by calling deflateParams. Signed-off-by: Corentin Chary Signed-off-by: Anthony Liguori --- diff --git a/vnc-encoding-zlib.c b/vnc-encoding-zlib.c index 6a16a79..29dd1b7 100644 --- a/vnc-encoding-zlib.c +++ b/vnc-encoding-zlib.c @@ -83,10 +83,17 @@ static int vnc_zlib_stop(VncState *vs) return -1; } + vs->zlib_level = vs->tight_compression; zstream->opaque = vs; } - // XXX what to do if tight_compression changed in between? + if (vs->tight_compression != vs->zlib_level) { + if (deflateParams(zstream, vs->tight_compression, + Z_DEFAULT_STRATEGY) != Z_OK) { + return -1; + } + vs->zlib_level = vs->tight_compression; + } // reserve memory in output buffer buffer_reserve(&vs->output, vs->zlib.offset + 64); diff --git a/vnc.h b/vnc.h index 6d92c60..3800687 100644 --- a/vnc.h +++ b/vnc.h @@ -178,6 +178,7 @@ struct VncState Buffer zlib; Buffer zlib_tmp; z_stream zlib_stream; + int zlib_level; Notifier mouse_mode_notifier;