[Spice-devel] [PATCH spice-server 3/6] Simplify sending stream report activation message
Jonathon Jongsma
jjongsma at redhat.com
Tue Dec 12 16:47:20 UTC 2017
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
On Fri, 2017-12-08 at 15:55 +0000, Frediano Ziglio wrote:
> Store information directly in the RedStreamActivateReportItem
> making easier to marshall the message.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> 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)
> + RedStreamActivateReportI
> tem *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_marshalle
> r, &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
More information about the Spice-devel
mailing list