[Spice-devel] [PATCH 10/10] worker: use more DCC_TO_WORKER

Fabiano FidĂȘncio fidencio at redhat.com
Thu Nov 5 14:18:20 PST 2015


On Thu, Nov 5, 2015 at 2:23 PM, Frediano Ziglio <fziglio at redhat.com> wrote:
> From: Marc-André Lureau <marcandre.lureau at gmail.com>
>
> ---
>  server/red_worker.c | 42 +++++++++++++++++++++---------------------
>  1 file changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/server/red_worker.c b/server/red_worker.c
> index 3b90356..aabb1d7 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -1762,7 +1762,7 @@ static inline void red_display_detach_stream_gracefully(DisplayChannelClient *dc
>                                                          Stream *stream,
>                                                          Drawable *update_area_limit)
>  {
> -    int stream_id = get_stream_id(dcc->common.worker, stream);
> +    int stream_id = get_stream_id(DCC_TO_WORKER(dcc), stream);
>      StreamAgent *agent = &dcc->stream_agents[stream_id];
>
>      /* stopping the client from playing older frames at once*/
> @@ -1815,9 +1815,9 @@ static inline void red_display_detach_stream_gracefully(DisplayChannelClient *dc
>                      stream_id, stream->current != NULL);
>          rect_debug(&upgrade_area);
>          if (update_area_limit) {
> -            red_update_area_till(dcc->common.worker, &upgrade_area, 0, update_area_limit);
> +            red_update_area_till(DCC_TO_WORKER(dcc), &upgrade_area, 0, update_area_limit);
>          } else {
> -            red_update_area(dcc->common.worker, &upgrade_area, 0);
> +            red_update_area(DCC_TO_WORKER(dcc), &upgrade_area, 0);
>          }
>          red_add_surface_area_image(dcc, 0, &upgrade_area, NULL, FALSE);
>      }
> @@ -2022,7 +2022,7 @@ static uint64_t red_stream_get_initial_bit_rate(DisplayChannelClient *dcc,
>      /* dividing the available bandwidth among the active streams, and saving
>       * (1-RED_STREAM_CHANNEL_CAPACITY) of it for other messages */
>      return (RED_STREAM_CHANNEL_CAPACITY * bit_rate *
> -           stream->width * stream->height) / dcc->common.worker->streams_size_total;
> +            stream->width * stream->height) / DCC_TO_WORKER(dcc)->streams_size_total;
>  }
>
>  static uint32_t red_stream_mjpeg_encoder_get_roundtrip(void *opaque)
> @@ -2064,7 +2064,7 @@ static void red_display_update_streams_max_latency(DisplayChannelClient *dcc, St
>      }
>
>      dcc->streams_max_latency = 0;
> -    if (dcc->common.worker->stream_count == 1) {
> +    if (DCC_TO_WORKER(dcc)->stream_count == 1) {
>          return;
>      }
>      for (i = 0; i < NUM_STREAMS; i++) {
> @@ -2105,7 +2105,7 @@ static void red_stream_update_client_playback_latency(void *opaque, uint32_t del
>
>  static void red_display_create_stream(DisplayChannelClient *dcc, Stream *stream)
>  {
> -    StreamAgent *agent = &dcc->stream_agents[get_stream_id(dcc->common.worker, stream)];
> +    StreamAgent *agent = &dcc->stream_agents[get_stream_id(DCC_TO_WORKER(dcc), stream)];
>
>      stream->refs++;
>      spice_assert(region_is_empty(&agent->vis_region));
> @@ -2141,7 +2141,7 @@ static void red_display_create_stream(DisplayChannelClient *dcc, Stream *stream)
>          agent->report_id = rand();
>          red_channel_pipe_item_init(RED_CHANNEL_CLIENT(dcc)->channel, &report_pipe_item->pipe_item,
>                                     PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT);
> -        report_pipe_item->stream_id = get_stream_id(dcc->common.worker, stream);
> +        report_pipe_item->stream_id = get_stream_id(DCC_TO_WORKER(dcc), stream);
>          red_channel_client_pipe_add(RED_CHANNEL_CLIENT(dcc), &report_pipe_item->pipe_item);
>      }
>  #ifdef STREAM_STATS
> @@ -2194,7 +2194,7 @@ static void red_create_stream(RedWorker *worker, Drawable *drawable)
>
>  static void red_disply_start_streams(DisplayChannelClient *dcc)
>  {
> -    Ring *ring = &dcc->common.worker->streams;
> +    Ring *ring = &DCC_TO_WORKER(dcc)->streams;
>      RingItem *item = ring;
>
>      while ((item = ring_next(ring, item))) {
> @@ -2206,7 +2206,7 @@ static void red_disply_start_streams(DisplayChannelClient *dcc)
>  static void red_display_client_init_streams(DisplayChannelClient *dcc)
>  {
>      int i;
> -    RedWorker *worker = dcc->common.worker;
> +    RedWorker *worker = DCC_TO_WORKER(dcc);
>      RedChannel *channel = RED_CHANNEL_CLIENT(dcc)->channel;
>
>      for (i = 0; i < NUM_STREAMS; i++) {
> @@ -4131,7 +4131,7 @@ static RedGlzDrawable *red_display_get_glz_drawable(DisplayChannelClient *dcc, D
>      ring_item_init(&ret->drawable_link);
>      ring_add_before(&ret->link, &dcc->glz_drawables);
>      ring_add(&drawable->glz_ring, &ret->drawable_link);
> -    dcc->common.worker->glz_drawable_count++;
> +    DCC_TO_WORKER(dcc)->glz_drawable_count++;
>      return ret;
>  }
>
> @@ -5408,7 +5408,7 @@ static FillBitsType fill_bits(DisplayChannelClient *dcc, SpiceMarshaller *m,
>  {
>      RedChannelClient *rcc = RED_CHANNEL_CLIENT(dcc);
>      DisplayChannel *display_channel = SPICE_CONTAINEROF(rcc->channel, DisplayChannel, common.base);
> -    RedWorker *worker = dcc->common.worker;
> +    RedWorker *worker = DCC_TO_WORKER(dcc);
>      SpiceImage image;
>      compress_send_data_t comp_send_data = {0};
>      SpiceMarshaller *bitmap_palette_out, *lzplt_palette_out;
> @@ -5595,7 +5595,7 @@ static int is_surface_area_lossy(DisplayChannelClient *dcc, uint32_t surface_id,
>      RedSurface *surface;
>      QRegion *surface_lossy_region;
>      QRegion lossy_region;
> -    RedWorker *worker = dcc->common.worker;
> +    RedWorker *worker = DCC_TO_WORKER(dcc);
>
>      VALIDATE_SURFACE_RETVAL(worker, surface_id, FALSE);
>      surface = &worker->surfaces[surface_id];
> @@ -7135,7 +7135,7 @@ static inline int red_marshall_stream_data(RedChannelClient *rcc,
>      DisplayChannel *display_channel = SPICE_CONTAINEROF(rcc->channel, DisplayChannel, common.base);
>      Stream *stream = drawable->stream;
>      SpiceImage *image;
> -    RedWorker *worker = dcc->common.worker;
> +    RedWorker *worker = DCC_TO_WORKER(dcc);
>      uint32_t frame_mm_time;
>      int n;
>      int width, height;
> @@ -7598,7 +7598,7 @@ static void red_display_marshall_stream_start(RedChannelClient *rcc,
>      SpiceClipRects clip_rects;
>
>      stream_create.surface_id = 0;
> -    stream_create.id = get_stream_id(dcc->common.worker, stream);
> +    stream_create.id = get_stream_id(DCC_TO_WORKER(dcc), stream);
>      stream_create.flags = stream->top_down ? SPICE_STREAM_FLAGS_TOP_DOWN : 0;
>      stream_create.codec_type = SPICE_VIDEO_CODEC_TYPE_MJPEG;
>
> @@ -7634,7 +7634,7 @@ static void red_display_marshall_stream_clip(RedChannelClient *rcc,
>      red_channel_client_init_send_data(rcc, SPICE_MSG_DISPLAY_STREAM_CLIP, &item->base);
>      SpiceMsgDisplayStreamClip stream_clip;
>
> -    stream_clip.id = get_stream_id(dcc->common.worker, agent->stream);
> +    stream_clip.id = get_stream_id(DCC_TO_WORKER(dcc), agent->stream);
>      stream_clip.clip.type = item->clip_type;
>      stream_clip.clip.rects = item->rects;
>
> @@ -7648,7 +7648,7 @@ static void red_display_marshall_stream_end(RedChannelClient *rcc,
>      SpiceMsgDisplayStreamDestroy destroy;
>
>      red_channel_client_init_send_data(rcc, SPICE_MSG_DISPLAY_STREAM_DESTROY, NULL);
> -    destroy.id = get_stream_id(dcc->common.worker, agent->stream);
> +    destroy.id = get_stream_id(DCC_TO_WORKER(dcc), agent->stream);
>      red_display_stream_agent_stop(dcc, agent);
>      spice_marshall_msg_display_stream_destroy(base_marshaller, &destroy);
>  }
> @@ -8027,7 +8027,7 @@ static inline void red_create_surface_item(DisplayChannelClient *dcc, int surfac
>  {
>      RedSurface *surface;
>      SurfaceCreateItem *create;
> -    RedWorker *worker = dcc ? dcc->common.worker : NULL;
> +    RedWorker *worker = dcc ? DCC_TO_WORKER(dcc) : NULL;
>      uint32_t flags = is_primary_surface(worker, surface_id) ? SPICE_SURFACE_FLAGS_PRIMARY : 0;
>
>      /* don't send redundant create surface commands to client */
> @@ -8598,10 +8598,10 @@ static int display_channel_handle_migrate_data(RedChannelClient *rcc, uint32_t s
>
>      if (migrate_data->low_bandwidth_setting) {
>          red_channel_client_ack_set_client_window(rcc, WIDE_CLIENT_ACK_WINDOW);
> -        if (dcc->common.worker->jpeg_state == SPICE_WAN_COMPRESSION_AUTO) {
> +        if (DCC_TO_WORKER(dcc)->jpeg_state == SPICE_WAN_COMPRESSION_AUTO) {
>              display_channel->enable_jpeg = TRUE;
>          }
> -        if (dcc->common.worker->zlib_glz_state == SPICE_WAN_COMPRESSION_AUTO) {
> +        if (DCC_TO_WORKER(dcc)->zlib_glz_state == SPICE_WAN_COMPRESSION_AUTO) {
>              display_channel->enable_zlib_glz_wrap = TRUE;
>          }
>      }
> @@ -8907,7 +8907,7 @@ static void display_channel_hold_pipe_item(RedChannelClient *rcc, PipeItem *item
>  static void display_channel_client_release_item_after_push(DisplayChannelClient *dcc,
>                                                             PipeItem *item)
>  {
> -    RedWorker *worker = dcc->common.worker;
> +    RedWorker *worker = DCC_TO_WORKER(dcc);
>
>      switch (item->type) {
>      case PIPE_ITEM_TYPE_DRAW:
> @@ -8942,7 +8942,7 @@ static void display_channel_client_release_item_after_push(DisplayChannelClient
>  static void display_channel_client_release_item_before_push(DisplayChannelClient *dcc,
>                                                              PipeItem *item)
>  {
> -    RedWorker *worker = dcc->common.worker;
> +    RedWorker *worker = DCC_TO_WORKER(dcc);
>
>      switch (item->type) {
>      case PIPE_ITEM_TYPE_DRAW: {
> --
> 2.4.3
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel

Looks good to me. ACK!


More information about the Spice-devel mailing list