summaryrefslogtreecommitdiffstats
path: root/server
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
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')
-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;
}