On Wed, Nov 25, 2015 at 4:27 PM, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> > > --- > server/dcc.c | 18 ++++++++++++++++-- > server/red_common.h | 14 -------------- > server/red_dispatcher.c | 15 +++++++++++++-- > server/reds.c | 2 +- > server/stream.h | 7 +++++++ > 5 files changed, 37 insertions(+), 19 deletions(-) > > diff --git a/server/dcc.c b/server/dcc.c > index 6c089da..ffe5b34 100644 > --- a/server/dcc.c > +++ b/server/dcc.c > @@ -616,6 +616,20 @@ static GlzDrawableInstanceItem *add_glz_drawable_instance(RedGlzDrawable *glz_dr > return ret; > } > > +static const LzImageType bitmap_fmt_to_lz_image_type[] = { > + LZ_IMAGE_TYPE_INVALID, > + LZ_IMAGE_TYPE_PLT1_LE, > + LZ_IMAGE_TYPE_PLT1_BE, > + LZ_IMAGE_TYPE_PLT4_LE, > + LZ_IMAGE_TYPE_PLT4_BE, > + LZ_IMAGE_TYPE_PLT8, > + LZ_IMAGE_TYPE_RGB16, > + LZ_IMAGE_TYPE_RGB24, > + LZ_IMAGE_TYPE_RGB32, > + LZ_IMAGE_TYPE_RGBA, > + LZ_IMAGE_TYPE_A8 > +}; > + > #define MIN_GLZ_SIZE_FOR_ZLIB 100 > > int dcc_compress_image_glz(DisplayChannelClient *dcc, > @@ -629,7 +643,7 @@ int dcc_compress_image_glz(DisplayChannelClient *dcc, > spice_assert(bitmap_fmt_is_rgb(src->format)); > GlzData *glz_data = &dcc->glz_data; > ZlibData *zlib_data; > - LzImageType type = MAP_BITMAP_FMT_TO_LZ_IMAGE_TYPE[src->format]; > + LzImageType type = bitmap_fmt_to_lz_image_type[src->format]; > RedGlzDrawable *glz_drawable; > GlzDrawableInstanceItem *glz_drawable_instance; > int glz_size; > @@ -710,7 +724,7 @@ int dcc_compress_image_lz(DisplayChannelClient *dcc, > { > LzData *lz_data = &dcc->lz_data; > LzContext *lz = dcc->lz; > - LzImageType type = MAP_BITMAP_FMT_TO_LZ_IMAGE_TYPE[src->format]; > + LzImageType type = bitmap_fmt_to_lz_image_type[src->format]; > int size; // size of the compressed data > > #ifdef COMPRESS_STAT > diff --git a/server/red_common.h b/server/red_common.h > index 04d4c02..7f1677e 100644 > --- a/server/red_common.h > +++ b/server/red_common.h > @@ -30,18 +30,4 @@ > > #define SPICE_GNUC_VISIBLE __attribute__ ((visibility ("default"))) > > -static const LzImageType MAP_BITMAP_FMT_TO_LZ_IMAGE_TYPE[] = { > - LZ_IMAGE_TYPE_INVALID, > - LZ_IMAGE_TYPE_PLT1_LE, > - LZ_IMAGE_TYPE_PLT1_BE, > - LZ_IMAGE_TYPE_PLT4_LE, > - LZ_IMAGE_TYPE_PLT4_BE, > - LZ_IMAGE_TYPE_PLT8, > - LZ_IMAGE_TYPE_RGB16, > - LZ_IMAGE_TYPE_RGB24, > - LZ_IMAGE_TYPE_RGB32, > - LZ_IMAGE_TYPE_RGBA, > - LZ_IMAGE_TYPE_A8 > -}; > - > #endif > diff --git a/server/red_dispatcher.c b/server/red_dispatcher.c > index a7825f5..952add9 100644 > --- a/server/red_dispatcher.c > +++ b/server/red_dispatcher.c > @@ -36,6 +36,7 @@ > #include "reds.h" > #include "dispatcher.h" > #include "red_parse_qxl.h" > +#include "stream.h" > > #include "red_dispatcher.h" > > @@ -702,9 +703,19 @@ static void qxl_worker_loadvm_commands(QXLWorker *qxl_worker, > red_dispatcher_loadvm_commands((RedDispatcher*)qxl_worker, ext, count); > } > > -static inline int calc_compression_level(void) > +void red_dispatcher_set_mm_time(uint32_t mm_time) > { > - spice_assert(streaming_video != SPICE_STREAM_VIDEO_INVALID); > + RedDispatcher *now = dispatchers; > + while (now) { > + now->qxl->st->qif->set_mm_time(now->qxl, mm_time); > + now = now->next; > + } > +} > + > +static int calc_compression_level(void) > +{ > + spice_return_val_if_fail(streaming_video != SPICE_STREAM_VIDEO_INVALID, -1); > + > if ((streaming_video != SPICE_STREAM_VIDEO_OFF) || > (image_compression != SPICE_IMAGE_COMPRESSION_QUIC)) { > return 0; IMO, this hunk should not be part of this patch. > diff --git a/server/reds.c b/server/reds.c > index 8b3c3cb..bdea7e1 100644 > --- a/server/reds.c > +++ b/server/reds.c > @@ -55,10 +55,10 @@ > > #include "spice.h" > #include "reds.h" > +#include "stream.h" Neither this one ... > #include "agent-msg-filter.h" > #include "inputs_channel.h" > #include "main_channel.h" > -#include "red_common.h" > #include "red_dispatcher.h" > #include "main_dispatcher.h" > #include "snd_worker.h" > diff --git a/server/stream.h b/server/stream.h > index 7c589e4..30876f1 100644 > --- a/server/stream.h > +++ b/server/stream.h > @@ -57,6 +57,13 @@ enum { > STREAM_FRAME_CONTAINER, > }; > > +enum { > + STREAM_VIDEO_INVALID, > + STREAM_VIDEO_OFF, > + STREAM_VIDEO_ALL, > + STREAM_VIDEO_FILTER > +}; > + Neither this one ... To be honest, I am not sure why it was created here but SPICE_STREAM_VIDEO_INVALID is still in use and wasn't removed. > #define STREAM_STATS > #ifdef STREAM_STATS > typedef struct StreamStats { > -- > 2.4.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel Reviewed-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> -- Fabiano Fidêncio _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel