[PATCH 2/2] Handle preferred image compression messages

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

 



---
 server/red_worker.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/server/red_worker.c b/server/red_worker.c
index 29d6d6d..af2f1d6 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -10276,6 +10276,27 @@ static int display_channel_handle_stream_report(DisplayChannelClient *dcc,
     return TRUE;
 }
 
+static int display_channel_handle_preferred_compression(DisplayChannelClient *dcc,
+        SpiceMsgcDisplayPreferredCompression *pc) {
+    DisplayChannel *display_channel = DCC_TO_DC(dcc);
+    switch (pc->image_compression) {
+    case SPICE_IMAGE_COMPRESS_AUTO_LZ:
+    case SPICE_IMAGE_COMPRESS_AUTO_GLZ:
+    case SPICE_IMAGE_COMPRESS_QUIC:
+#ifdef USE_LZ4
+    case SPICE_IMAGE_COMPRESS_LZ4:
+#endif
+    case SPICE_IMAGE_COMPRESS_LZ:
+    case SPICE_IMAGE_COMPRESS_GLZ:
+    case SPICE_IMAGE_COMPRESS_OFF:
+        display_channel->common.worker->image_compression = pc->image_compression;
+        return TRUE;
+    default:
+        spice_warning("preferred-compression: unsupported image compression setting");
+        return FALSE;
+    }
+}
+
 static int display_channel_handle_message(RedChannelClient *rcc, uint32_t size, uint16_t type,
                                           void *message)
 {
@@ -10292,6 +10313,10 @@ static int display_channel_handle_message(RedChannelClient *rcc, uint32_t size,
     case SPICE_MSGC_DISPLAY_STREAM_REPORT:
         return display_channel_handle_stream_report(dcc,
                                                     (SpiceMsgcDisplayStreamReport *)message);
+    case SPICE_MSGC_DISPLAY_PREFERRED_COMPRESSION:
+        return display_channel_handle_preferred_compression(dcc,
+            (SpiceMsgcDisplayPreferredCompression *)message);
+
     default:
         return red_channel_client_handle_message(rcc, size, type, message);
     }
-- 
1.9.3

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://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]