summaryrefslogtreecommitdiffstats
path: root/server/red_worker.c
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2010-02-02 16:05:44 +0200
committerUri Lublin <uril@redhat.com>2010-02-03 11:39:01 +0200
commit19dbf1d5d024dbfff19b2e07c5b1e1d24dee143e (patch)
tree19bf6c0fb5f2221fc4131577832c7cf73310abb0 /server/red_worker.c
parent760a5e55e228cf82f47ec3fa69d9e349d438faaf (diff)
downloadspice-19dbf1d5d024dbfff19b2e07c5b1e1d24dee143e.tar.gz
spice-19dbf1d5d024dbfff19b2e07c5b1e1d24dee143e.tar.xz
spice-19dbf1d5d024dbfff19b2e07c5b1e1d24dee143e.zip
spice: server: avoid video streaming of small images #558270
I added a lower limit to the size of images that are being streamed. The limit is only active in "filter" video streaming mode. This will prevent blurry animated icons.
Diffstat (limited to 'server/red_worker.c')
-rw-r--r--server/red_worker.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/server/red_worker.c b/server/red_worker.c
index 015f1845..8e5ca399 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -77,6 +77,7 @@
#define RED_STREAM_FRAMES_START_CONDITION 20
#define RED_STREAM_GRADUAL_FRAMES_START_CONDITION 0.2
#define RED_STREAM_FRAMES_RESET_CONDITION 100
+#define RED_STREAM_MIN_SIZE (96 * 96)
#define FPS_TEST_INTERVAL 1
#define MAX_FPS 30
@@ -3311,6 +3312,17 @@ static inline void red_update_streamable(RedWorker *worker, Drawable *drawable,
return;
}
+ if (worker->streaming_video == STREAM_VIDEO_FILTER) {
+ Rect* rect;
+ int size;
+
+ rect = &drawable->qxl_drawable->u.copy.src_area;
+ size = (rect->right - rect->left) * (rect->bottom - rect->top);
+ if (size < RED_STREAM_MIN_SIZE) {
+ return;
+ }
+ }
+
drawable->streamable = TRUE;
}