Store information directly in the RedStreamActivateReportItem making easier to marshall the message. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- server/dcc-send.c | 10 ++++------ server/video-stream.c | 1 + server/video-stream.h | 1 + 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/server/dcc-send.c b/server/dcc-send.c index 828a472f..364f3405 100644 --- a/server/dcc-send.c +++ b/server/dcc-send.c @@ -2308,15 +2308,13 @@ static void marshall_monitors_config(RedChannelClient *rcc, SpiceMarshaller *bas static void marshall_stream_activate_report(RedChannelClient *rcc, SpiceMarshaller *base_marshaller, - uint32_t stream_id) + RedStreamActivateReportItem *report_item) { - DisplayChannelClient *dcc = DISPLAY_CHANNEL_CLIENT(rcc); - VideoStreamAgent *agent = &dcc->priv->stream_agents[stream_id]; SpiceMsgDisplayStreamActivateReport msg; red_channel_client_init_send_data(rcc, SPICE_MSG_DISPLAY_STREAM_ACTIVATE_REPORT); - msg.stream_id = stream_id; - msg.unique_id = agent->report_id; + msg.stream_id = report_item->stream_id; + msg.unique_id = report_item->report_id; msg.max_window_size = RED_STREAM_CLIENT_REPORT_WINDOW; msg.timeout_ms = RED_STREAM_CLIENT_REPORT_TIMEOUT; spice_marshall_msg_display_stream_activate_report(base_marshaller, &msg); @@ -2454,7 +2452,7 @@ void dcc_send_item(RedChannelClient *rcc, RedPipeItem *pipe_item) RedStreamActivateReportItem *report_item = SPICE_CONTAINEROF(pipe_item, RedStreamActivateReportItem, pipe_item); - marshall_stream_activate_report(rcc, m, report_item->stream_id); + marshall_stream_activate_report(rcc, m, report_item); break; } case RED_PIPE_ITEM_TYPE_GL_SCANOUT: diff --git a/server/video-stream.c b/server/video-stream.c index 89f94ffb..b236774a 100644 --- a/server/video-stream.c +++ b/server/video-stream.c @@ -759,6 +759,7 @@ void dcc_create_stream(DisplayChannelClient *dcc, VideoStream *stream) red_pipe_item_init(&report_pipe_item->pipe_item, RED_PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT); report_pipe_item->stream_id = stream_id; + report_pipe_item->report_id = agent->report_id; red_channel_client_pipe_add(RED_CHANNEL_CLIENT(dcc), &report_pipe_item->pipe_item); } #ifdef STREAM_STATS diff --git a/server/video-stream.h b/server/video-stream.h index a4d14981..2dfcf7bf 100644 --- a/server/video-stream.h +++ b/server/video-stream.h @@ -48,6 +48,7 @@ typedef struct VideoStream VideoStream; typedef struct RedStreamActivateReportItem { RedPipeItem pipe_item; uint32_t stream_id; + uint32_t report_id; } RedStreamActivateReportItem; #ifdef STREAM_STATS -- 2.14.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel