summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2010-02-02 16:05:44 +0200
committerAlexander Larsson <alexl@redhat.com>2010-03-24 15:23:07 +0100
commitd2edac47cd24103203405586e867b0bc038474e8 (patch)
tree626d5ef72ccbecc8ad1274325daec297a97428bd /server
parentfa3dddc0db4596b879f3fbfb71a18df1f7f49f3d (diff)
downloadspice-d2edac47cd24103203405586e867b0bc038474e8.tar.gz
spice-d2edac47cd24103203405586e867b0bc038474e8.tar.xz
spice-d2edac47cd24103203405586e867b0bc038474e8.zip
spice: server: avoid video streaming of small images
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 d4f9743e..9ef84a65 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -76,6 +76,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
@@ -3460,6 +3461,17 @@ static inline void red_update_streamable(RedWorker *worker, Drawable *drawable,
return;
}
+ if (worker->streaming_video == STREAM_VIDEO_FILTER) {
+ SpiceRect* 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;
}