[Spice-devel] [PATCH 10/10] worker: use more DCC_TO_WORKER
Frediano Ziglio
fziglio at redhat.com
Fri Nov 6 02:13:40 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
> >
>
> Looks good to me. ACK!
>
Merged
Frediano
More information about the Spice-devel
mailing list