[Spice-devel] [PATCH 03/18] move calc_compression_level to reds

Frediano Ziglio fziglio at redhat.com
Mon Feb 15 16:01:04 UTC 2016


Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 server/red-dispatcher.c | 18 +++---------------
 server/reds.c           | 12 ++++++++++++
 server/reds.h           |  1 +
 3 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/server/red-dispatcher.c b/server/red-dispatcher.c
index 3061735..9ec760f 100644
--- a/server/red-dispatcher.c
+++ b/server/red-dispatcher.c
@@ -682,22 +682,10 @@ static void qxl_worker_loadvm_commands(QXLWorker *qxl_worker,
     red_dispatcher_loadvm_commands((RedDispatcher*)qxl_worker, ext, count);
 }
 
-static inline int calc_compression_level(void)
-{
-    spice_assert(reds_get_streaming_video(reds) != SPICE_STREAM_VIDEO_INVALID);
-
-    if ((reds_get_streaming_video(reds) != SPICE_STREAM_VIDEO_OFF) ||
-        (spice_server_get_image_compression(reds) != SPICE_IMAGE_COMPRESSION_QUIC)) {
-        return 0;
-    } else {
-        return 1;
-    }
-}
-
 void red_dispatcher_on_ic_change(void)
 {
     RedWorkerMessageSetCompression payload;
-    int compression_level = calc_compression_level();
+    int compression_level = calc_compression_level(reds);
     RedDispatcher *now = dispatchers;
 
     while (now) {
@@ -713,7 +701,7 @@ void red_dispatcher_on_ic_change(void)
 void red_dispatcher_on_sv_change(void)
 {
     RedWorkerMessageSetStreamingVideo payload;
-    int compression_level = calc_compression_level();
+    int compression_level = calc_compression_level(reds);
     RedDispatcher *now = dispatchers;
     while (now) {
         now->qxl->st->qif->set_compression_level(now->qxl, compression_level);
@@ -1093,7 +1081,7 @@ void red_dispatcher_init(QXLInstance *qxl)
     dispatchers = red_dispatcher;
 
     qxl->st->qif->attache_worker(qxl, &red_dispatcher->base);
-    qxl->st->qif->set_compression_level(qxl, calc_compression_level());
+    qxl->st->qif->set_compression_level(qxl, calc_compression_level(reds));
 }
 
 struct Dispatcher *red_dispatcher_get_dispatcher(RedDispatcher *red_dispatcher)
diff --git a/server/reds.c b/server/reds.c
index e621a25..418f89a 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -4042,3 +4042,15 @@ SpiceCoreInterfaceInternal* reds_get_core_interface(RedsState *reds)
 {
     return reds->core;
 }
+
+int calc_compression_level(RedsState *reds)
+{
+    spice_assert(reds_get_streaming_video(reds) != SPICE_STREAM_VIDEO_INVALID);
+
+    if ((reds_get_streaming_video(reds) != SPICE_STREAM_VIDEO_OFF) ||
+        (spice_server_get_image_compression(reds) != SPICE_IMAGE_COMPRESSION_QUIC)) {
+        return 0;
+    } else {
+        return 1;
+    }
+}
diff --git a/server/reds.h b/server/reds.h
index 6caed73..df34a88 100644
--- a/server/reds.h
+++ b/server/reds.h
@@ -111,5 +111,6 @@ uint32_t reds_get_streaming_video(const RedsState *reds);
 spice_wan_compression_t reds_get_jpeg_state(const RedsState *reds);
 spice_wan_compression_t reds_get_zlib_glz_state(const RedsState *reds);
 SpiceCoreInterfaceInternal* reds_get_core_interface(RedsState *reds);
+int calc_compression_level(RedsState *reds);
 
 #endif
-- 
2.5.0



More information about the Spice-devel mailing list