Start moving some channel client stuff out of stream.[ch] Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> --- server/dcc.c | 28 ++++++++++++++++++++++++++++ server/dcc.h | 7 +++++++ server/stream.c | 29 ----------------------------- server/stream.h | 5 ----- 4 files changed, 35 insertions(+), 34 deletions(-) diff --git a/server/dcc.c b/server/dcc.c index d55f2df3a..6e64f44d3 100644 --- a/server/dcc.c +++ b/server/dcc.c @@ -1518,3 +1518,31 @@ void dcc_update_streams_max_latency(DisplayChannelClient *dcc, StreamAgent *remo dcc_set_max_stream_latency(dcc, new_max_latency); } +static void stream_create_destroy_item_release(RedPipeItem *base) +{ + StreamCreateDestroyItem *item = SPICE_UPCAST(StreamCreateDestroyItem, base); + stream_agent_unref(item->agent); + g_free(item); +} + +static RedPipeItem *stream_create_destroy_item_new(StreamAgent *agent, gint type) +{ + StreamCreateDestroyItem *item = g_new0(StreamCreateDestroyItem, 1); + + red_pipe_item_init_full(&item->base, type, + stream_create_destroy_item_release); + agent->stream->refs++; + item->agent = agent; + return &item->base; +} + +RedPipeItem *stream_create_item_new(StreamAgent *agent) +{ + return stream_create_destroy_item_new(agent, RED_PIPE_ITEM_TYPE_STREAM_CREATE); +} + +RedPipeItem *stream_destroy_item_new(StreamAgent *agent) +{ + return stream_create_destroy_item_new(agent, RED_PIPE_ITEM_TYPE_STREAM_DESTROY); +} + diff --git a/server/dcc.h b/server/dcc.h index 12603660a..0119c57df 100644 --- a/server/dcc.h +++ b/server/dcc.h @@ -211,6 +211,13 @@ typedef struct RedStreamClipItem { SpiceClipRects *rects; } RedStreamClipItem; +typedef struct StreamCreateDestroyItem { + RedPipeItem base; + StreamAgent *agent; +} StreamCreateDestroyItem; + +RedPipeItem *stream_create_item_new(StreamAgent *agent); +RedPipeItem *stream_destroy_item_new(StreamAgent *agent); G_END_DECLS #endif /* DCC_H_ */ diff --git a/server/stream.c b/server/stream.c index 933bdf41b..6b585f653 100644 --- a/server/stream.c +++ b/server/stream.c @@ -63,35 +63,6 @@ static void stream_agent_stats_print(StreamAgent *agent) #endif } -static void stream_create_destroy_item_release(RedPipeItem *base) -{ - StreamCreateDestroyItem *item = SPICE_UPCAST(StreamCreateDestroyItem, base); - stream_agent_unref(item->agent); - g_free(item); -} - -static RedPipeItem *stream_create_destroy_item_new(StreamAgent *agent, gint type) -{ - StreamCreateDestroyItem *item = g_new0(StreamCreateDestroyItem, 1); - - red_pipe_item_init_full(&item->base, type, - stream_create_destroy_item_release); - agent->stream->refs++; - item->agent = agent; - return &item->base; -} - -static RedPipeItem *stream_create_item_new(StreamAgent *agent) -{ - return stream_create_destroy_item_new(agent, RED_PIPE_ITEM_TYPE_STREAM_CREATE); -} - -static RedPipeItem *stream_destroy_item_new(StreamAgent *agent) -{ - return stream_create_destroy_item_new(agent, RED_PIPE_ITEM_TYPE_STREAM_DESTROY); -} - - void stream_stop(DisplayChannel *display, Stream *stream) { DisplayChannelClient *dcc; diff --git a/server/stream.h b/server/stream.h index 607f18106..b721593d5 100644 --- a/server/stream.h +++ b/server/stream.h @@ -86,11 +86,6 @@ typedef struct StreamAgent { #endif } StreamAgent; -typedef struct StreamCreateDestroyItem { - RedPipeItem base; - StreamAgent *agent; -} StreamCreateDestroyItem; - typedef struct ItemTrace { red_time_t time; red_time_t first_frame_time; -- 2.13.6 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel