[Spice-devel] [PATCH v2 13/30] Encapsulate zlib information in ImageEncoders structure
Jonathon Jongsma
jjongsma at redhat.com
Thu Jun 9 20:56:49 UTC 2016
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
On Thu, 2016-06-09 at 13:31 +0100, Frediano Ziglio wrote:
> This change is less clean the other similar patches as zlib and
> glz require more steps.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/dcc-encoders.c | 18 +++++++++---------
> server/dcc-encoders.h | 5 +++++
> server/dcc.c | 4 ++--
> server/dcc.h | 5 -----
> 4 files changed, 16 insertions(+), 16 deletions(-)
>
> diff --git a/server/dcc-encoders.c b/server/dcc-encoders.c
> index 7b27aff..04bb60c 100644
> --- a/server/dcc-encoders.c
> +++ b/server/dcc-encoders.c
> @@ -386,14 +386,14 @@ static inline void image_encoders_init_lz4(ImageEncoders
> *enc)
> }
> #endif
>
> -static void dcc_init_zlib(DisplayChannelClient *dcc)
> +static void image_encoders_init_zlib(ImageEncoders *enc)
> {
> - dcc->zlib_data.usr.more_space = zlib_usr_more_space;
> - dcc->zlib_data.usr.more_input = zlib_usr_more_input;
> + enc->zlib_data.usr.more_space = zlib_usr_more_space;
> + enc->zlib_data.usr.more_input = zlib_usr_more_input;
>
> - dcc->zlib = zlib_encoder_create(&dcc->zlib_data.usr,
> ZLIB_DEFAULT_COMPRESSION_LEVEL);
> + enc->zlib = zlib_encoder_create(&enc->zlib_data.usr,
> ZLIB_DEFAULT_COMPRESSION_LEVEL);
>
> - if (!dcc->zlib) {
> + if (!enc->zlib) {
> spice_critical("create zlib encoder failed");
> }
> }
> @@ -409,10 +409,10 @@ void dcc_encoders_init(DisplayChannelClient *dcc)
> #ifdef USE_LZ4
> image_encoders_init_lz4(enc);
> #endif
> - dcc_init_zlib(dcc);
> + image_encoders_init_zlib(enc);
>
> // todo: tune level according to bandwidth
> - dcc->zlib_level = ZLIB_DEFAULT_COMPRESSION_LEVEL;
> + enc->zlib_level = ZLIB_DEFAULT_COMPRESSION_LEVEL;
> }
>
> void dcc_encoders_free(DisplayChannelClient *dcc)
> @@ -428,8 +428,8 @@ void dcc_encoders_free(DisplayChannelClient *dcc)
> lz4_encoder_destroy(enc->lz4);
> enc->lz4 = NULL;
> #endif
> - zlib_encoder_destroy(dcc->zlib);
> - dcc->zlib = NULL;
> + zlib_encoder_destroy(enc->zlib);
> + enc->zlib = NULL;
> }
>
> /* Remove from the to_free list and the instances_list.
> diff --git a/server/dcc-encoders.h b/server/dcc-encoders.h
> index 1fb9e7c..092e213 100644
> --- a/server/dcc-encoders.h
> +++ b/server/dcc-encoders.h
> @@ -177,6 +177,11 @@ struct ImageEncoders {
> Lz4Data lz4_data;
> Lz4EncoderContext *lz4;
> #endif
> +
> + int zlib_level;
> +
> + ZlibData zlib_data;
> + ZlibEncoder *zlib;
> };
>
> typedef struct compress_send_data_t {
> diff --git a/server/dcc.c b/server/dcc.c
> index 0bc0e04..ee21bb1 100644
> --- a/server/dcc.c
> +++ b/server/dcc.c
> @@ -746,14 +746,14 @@ static int dcc_compress_image_glz(DisplayChannelClient
> *dcc,
> goto glz;
> }
> stat_start_time_init(&start_time, &display_channel->zlib_glz_stat);
> - zlib_data = &dcc->zlib_data;
> + zlib_data = &dcc->encoders.zlib_data;
>
> encoder_data_init(&zlib_data->data);
>
> zlib_data->data.u.compressed_data.next = glz_data->data.bufs_head;
> zlib_data->data.u.compressed_data.size_left = glz_size;
>
> - zlib_size = zlib_encode(dcc->zlib, dcc->zlib_level,
> + zlib_size = zlib_encode(dcc->encoders.zlib, dcc->encoders.zlib_level,
> glz_size, zlib_data->data.bufs_head->buf.bytes,
> sizeof(zlib_data->data.bufs_head->buf));
>
> diff --git a/server/dcc.h b/server/dcc.h
> index bdfc001..c6c9903 100644
> --- a/server/dcc.h
> +++ b/server/dcc.h
> @@ -63,11 +63,6 @@ struct DisplayChannelClient {
>
> ImageEncoders encoders;
>
> - int zlib_level;
> -
> - ZlibData zlib_data;
> - ZlibEncoder *zlib;
> -
> int expect_init;
>
> PixmapCache *pixmap_cache;
More information about the Spice-devel
mailing list