From patchwork Wed May 19 07:24:04 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Chary X-Patchwork-Id: 52952 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id CFB80B7D52 for ; Wed, 19 May 2010 17:22:30 +1000 (EST) Received: from localhost ([127.0.0.1]:53839 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OEdbm-0004Bh-Vi for incoming@patchwork.ozlabs.org; Wed, 19 May 2010 03:22:27 -0400 Received: from [140.186.70.92] (port=54544 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OEdZz-0004AF-BA for qemu-devel@nongnu.org; Wed, 19 May 2010 03:20:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OEdZu-0008Mh-9W for qemu-devel@nongnu.org; Wed, 19 May 2010 03:20:34 -0400 Received: from iksaif.net ([88.191.73.63]:39112) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OEdZt-0008MK-NY for qemu-devel@nongnu.org; Wed, 19 May 2010 03:20:29 -0400 Received: from localhost.localdomain (localhost [127.0.0.1]) (Authenticated sender: corentincj@iksaif.net) by iksaif.net (Postfix) with ESMTPA id CACD0C90027; Wed, 19 May 2010 09:24:13 +0200 (CEST) From: Corentin Chary To: qemu-devel@nongnu.org Date: Wed, 19 May 2010 09:24:04 +0200 Message-Id: <1274253852-16068-5-git-send-email-corentincj@iksaif.net> X-Mailer: git-send-email 1.7.0.2 In-Reply-To: <1274253852-16068-1-git-send-email-corentincj@iksaif.net> References: <1274253852-16068-1-git-send-email-corentincj@iksaif.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) Cc: Corentin Chary , Anthony Liguori , Alexander Graf , Adam Litke Subject: [Qemu-devel] [PATCH v3 04/12] vnc: only use a single zlib stream X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org According to http://tigervnc.org/cgi-bin/rfbproto#zlib-encoding zlib encoding only uses a single stream. Current implementation defines 4 streams but only uses the first one. Remove them and only use a single stream. Signed-off-by: Corentin Chary --- vnc-encoding-zlib.c | 12 +++++------- vnc.h | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/vnc-encoding-zlib.c b/vnc-encoding-zlib.c index 4a495ad..6a16a79 100644 --- a/vnc-encoding-zlib.c +++ b/vnc-encoding-zlib.c @@ -54,9 +54,9 @@ static void vnc_zlib_start(VncState *vs) vs->output = vs->zlib; } -static int vnc_zlib_stop(VncState *vs, int stream_id) +static int vnc_zlib_stop(VncState *vs) { - z_streamp zstream = &vs->zlib_stream[stream_id]; + z_streamp zstream = &vs->zlib_stream; int previous_out; // switch back to normal output/zlib buffers @@ -70,7 +70,7 @@ static int vnc_zlib_stop(VncState *vs, int stream_id) if (zstream->opaque != vs) { int err; - VNC_DEBUG("VNC: initializing zlib stream %d\n", stream_id); + VNC_DEBUG("VNC: initializing zlib stream\n"); VNC_DEBUG("VNC: opaque = %p | vs = %p\n", zstream->opaque, vs); zstream->zalloc = zalloc; zstream->zfree = zfree; @@ -122,7 +122,7 @@ void vnc_zlib_send_framebuffer_update(VncState *vs, int x, int y, int w, int h) // compress the stream vnc_zlib_start(vs); vnc_raw_send_framebuffer_update(vs, x, y, w, h); - bytes_written = vnc_zlib_stop(vs, 0); + bytes_written = vnc_zlib_stop(vs); if (bytes_written == -1) return; @@ -136,7 +136,5 @@ void vnc_zlib_send_framebuffer_update(VncState *vs, int x, int y, int w, int h) void vnc_zlib_init(VncState *vs) { - int i; - for (i=0; i<(sizeof(vs->zlib_stream) / sizeof(z_stream)); i++) - vs->zlib_stream[i].opaque = NULL; + vs->zlib_stream.opaque = NULL; } diff --git a/vnc.h b/vnc.h index 1aa71b0..dfdb240 100644 --- a/vnc.h +++ b/vnc.h @@ -173,7 +173,7 @@ struct VncState /* Zlib */ Buffer zlib; Buffer zlib_tmp; - z_stream zlib_stream[4]; + z_stream zlib_stream; Notifier mouse_mode_notifier;