summaryrefslogtreecommitdiffstats
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
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.
-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;
}