[PATCH spice-common 2/2] RFC protocol: Allows to send partial frame data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]