Looks good On Sun, Apr 08, 2012 at 06:42:37PM +0300, Yonit Halperin wrote: > 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
pgp5bd34wdhvI.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel