video streaming: add support for frames of different sizes

rhbz #813826, #815426

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.
This commit is contained in:
Yonit Halperin 2012-04-24 08:34:30 +03:00
parent 725b5a9b53
commit 543faaf796
2 changed files with 22 additions and 5 deletions

View File

@ -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;

View File

@ -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;