summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2012-04-24 08:34:30 +0300
committerYonit Halperin <yhalperi@redhat.com>2012-05-02 14:47:29 +0300
commit543faaf796c07e7948830b42def13b3854e958a8 (patch)
treed15b87b4315f34b0b5a09060f463a99de6cef2d4
parent725b5a9b53276aad505501e04f3d1cfbd7b6822f (diff)
downloadspice-protocol-543faaf796c07e7948830b42def13b3854e958a8.tar.gz
spice-protocol-543faaf796c07e7948830b42def13b3854e958a8.tar.xz
spice-protocol-543faaf796c07e7948830b42def13b3854e958a8.zip
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.
-rw-r--r--spice.proto19
-rw-r--r--spice1.proto8
2 files changed, 22 insertions, 5 deletions
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;