[Development] Disabling special video encoding when the VideoPriority parameter is 0. In this case, video updates will be encoded similarly to normal updates.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3402 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/ServerCore.cxx b/common/rfb/ServerCore.cxx
index 6606b14..4358617 100644
--- a/common/rfb/ServerCore.cxx
+++ b/common/rfb/ServerCore.cxx
@@ -94,8 +94,7 @@
false);
// TightVNC-specific parameters
-// FIXME: Disable special video handling when this parameter is 0.
rfb::IntParameter rfb::Server::videoPriority
("VideoPriority",
- "Priority of sending updates for video area (0..8)",
+ "Priority of sending video updates (0..8)",
2, 0, 8);
diff --git a/common/rfb/VNCSConnectionST.cxx b/common/rfb/VNCSConnectionST.cxx
index 8c52bcb..6bc1a91 100644
--- a/common/rfb/VNCSConnectionST.cxx
+++ b/common/rfb/VNCSConnectionST.cxx
@@ -565,6 +565,15 @@
server->checkUpdate();
}
+ // If VideoPriority is 0, convert video updates to normal updates.
+
+ if (rfb::Server::videoPriority == 0) {
+ // Region videoRegion(updates.getVideoArea());
+ // updates.add_changed(videoRegion);
+ Rect nullRect(0, 0, 0, 0);
+ updates.set_video_area(nullRect);
+ }
+
// Get the lists of updates. Prior to exporting the data to the `ui' object,
// getUpdateInfo() will normalize the `updates' object such way that its
// `changed', `copied' and `video_area' regions would not intersect.