[Spice-devel] [PATCH 13/30] Encapsulate zlib information in EncodersData structure
Jonathon Jongsma
jjongsma at redhat.com
Wed Jun 8 21:55:25 UTC 2016
On Tue, 2016-06-07 at 11:17 +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 c4b85d3..a6e7b2c 100644
> --- a/server/dcc-encoders.c
> +++ b/server/dcc-encoders.c
> @@ -386,14 +386,14 @@ static inline void dcc_init_lz4(EncodersData *enc)
> }
> #endif
>
> -static void dcc_init_zlib(DisplayChannelClient *dcc)
> +static void dcc_init_zlib(EncodersData *enc)
Same comment about function name (encoders_data_)
> {
> - 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
> dcc_init_lz4(enc);
> #endif
> - dcc_init_zlib(dcc);
> + dcc_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 e682b05..f1c4edf 100644
> --- a/server/dcc-encoders.h
> +++ b/server/dcc-encoders.h
> @@ -178,6 +178,11 @@ struct EncodersData {
> 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 c59858c..46182f9 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 ef4fae22..0f1a20a 100644
> --- a/server/dcc.h
> +++ b/server/dcc.h
> @@ -63,11 +63,6 @@ struct DisplayChannelClient {
>
> EncodersData encoders;
>
> - int zlib_level;
> -
> - ZlibData zlib_data;
> - ZlibEncoder *zlib;
> -
> int expect_init;
>
> PixmapCache *pixmap_cache;
Reviewed-by: Jonathon Jongsma <jjongsma at redhat.com>
More information about the Spice-devel
mailing list