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 <fziglio@xxxxxxxxxx> --- 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; + 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; + message { DisplayBase base; struct Fill { -- 2.13.6 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel