Frediano Ziglio writes:

> Reduce the needs to buffer the entire frame and than send
> and on the other end to wait the entire frame before processing.
> Some encodings allow to start processing before having a full
> frame allowing to reduce latency and buffering with huge frames.
>
> Signed-off-by: Frediano Ziglio <fzig...@redhat.com>
> ---
>  common/messages.h | 6 ++++++
>  spice.proto       | 9 +++++++++
>  2 files changed, 15 insertions(+)
>
> diff --git a/common/messages.h b/common/messages.h
> index b838881..18e2036 100644
> --- a/common/messages.h
> +++ b/common/messages.h
> @@ -368,6 +368,12 @@ typedef struct SpiceMsgDisplayStreamDestroy {
>      uint32_t id;
>  } SpiceMsgDisplayStreamDestroy;
>
> +typedef struct SpiceMsgDisplayStreamPartialData {
> +    SpiceStreamDataHeader base;
> +    uint32_t data_size;
> +    uint8_t *data;
> +} SpiceMsgDisplayStreamPartialData;

Why put the SpiceMsgDisplayStreamPartialData after
SpiceMsgDisplayStreamDestroy and not after SpiceMsgDisplayStreamDataSized?

> +
>  typedef struct SpiceMsgDisplayStreamActivateReport {
>      uint32_t stream_id;
>      uint32_t unique_id;
> diff --git a/spice.proto b/spice.proto
> index 2896966..8e88649 100644
> --- a/spice.proto
> +++ b/spice.proto
> @@ -771,6 +771,15 @@ channel DisplayChannel : BaseChannel {
>
>      Empty stream_destroy_all;
>
> +    /* This message is used to transmit part of a stream frame.
> +     * Last stream frame data chunk should be sent with a stream_data
> +     * message.
> +     */
> +    message {
> +     StreamDataHeader base;
> +     uint8 data[] @as_ptr(data_size) @nomarshal;
> +    } stream_partial_data;

Same comment about the location?

> +
>      message {
>       DisplayBase base;
>       struct Fill {


--
Cheers,
Christophe de Dinechin (IRC c3d)
_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to