Add SPICE_MSG_DISPLAY_STREAM_DATA_SIZED, for stream_data message that also contains the size and destination box of the data. The server can send such messages only to clients with SPICE_DISPLAY_CAP_SIZED_STREAM.
Signed-off-by: Yonit Halperin <yhalp...@redhat.com> --- common/messages.h | 15 ++++++++++++++- spice.proto | 19 ++++++++++++++++--- spice1.proto | 8 ++++++-- 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/common/messages.h b/common/messages.h index 58e8bee..f7bc32a 100644 --- a/common/messages.h +++ b/common/messages.h @@ -307,13 +307,26 @@ typedef struct SpiceMsgDisplayStreamCreate { SpiceClip clip; } SpiceMsgDisplayStreamCreate; -typedef struct SpiceMsgDisplayStreamData { +typedef struct SpiceStreamDataHeader { uint32_t id; uint32_t multi_media_time; +} SpiceStreamDataHeader; + +typedef struct SpiceMsgDisplayStreamData { + SpiceStreamDataHeader base; uint32_t data_size; uint8_t data[0]; } SpiceMsgDisplayStreamData; +typedef struct SpiceMsgDisplayStreamDataSized { + SpiceStreamDataHeader base; + uint32_t width; + uint32_t height; + SpiceRect dest; + uint32_t data_size; + uint8_t data[0]; +} SpiceMsgDisplayStreamDataSized; + typedef struct SpiceMsgDisplayStreamClip { uint32_t id; SpiceClip clip; diff --git a/spice.proto b/spice.proto index 513fe87..71be9ac 100644 --- a/spice.proto +++ b/spice.proto @@ -591,6 +591,11 @@ struct String { } u @anon; }; +struct StreamDataHeader { + uint32 id; + uint32 multi_media_time; +}; + channel DisplayChannel : BaseChannel { server: message { @@ -637,10 +642,9 @@ channel DisplayChannel : BaseChannel { } stream_create = 122; message { - uint32 id; - uint32 multi_media_time; + StreamDataHeader base; uint32 data_size; - uint8 data[data_size] @end @nomarshal; + uint8 data[data_size] @end @nomarshal; } stream_data; message { @@ -785,6 +789,15 @@ channel DisplayChannel : BaseChannel { uint32 surface_id; } @ctype(SpiceMsgSurfaceDestroy) surface_destroy; + message { + StreamDataHeader base; + uint32 width; + uint32 height; + Rect dest; + uint32 data_size; + uint8 data[data_size] @end @nomarshal; + } stream_data_sized; + client: message { uint8 pixmap_cache_id; diff --git a/spice1.proto b/spice1.proto index fa2524b..2ed1058 100644 --- a/spice1.proto +++ b/spice1.proto @@ -533,6 +533,11 @@ struct String { } u @anon; }; +struct StreamDataHeader { + uint32 id; + uint32 multi_media_time; +}; + channel DisplayChannel : BaseChannel { server: message { @@ -580,8 +585,7 @@ channel DisplayChannel : BaseChannel { } stream_create = 122; message { - uint32 id; - uint32 multi_media_time; + StreamDataHeader base; uint32 data_size; uint32 pad_size @zero; uint8 data[data_size] @end @nomarshal; -- 1.7.7.6 _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel