Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/neutrinolabs/ulalaca-xrdp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGyuhwan Park★ <unstabler@unstabler.pl>2023-02-04 12:44:11 +0300
committerGyuhwan Park★ <unstabler@unstabler.pl>2023-02-04 12:44:11 +0300
commit1e20ccc21266366f3715fac484c2545f6d142b97 (patch)
tree3cd77c2508b46a089fd19f32ddcbe509ab2dedcc
parent877b1cca50a2eb9670e901525ad6d83803adfd68 (diff)
feature: add isNSCodec()
-rw-r--r--XrdpUlalacaPrivate.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/XrdpUlalacaPrivate.cpp b/XrdpUlalacaPrivate.cpp
index 117c4b5..b8ea399 100644
--- a/XrdpUlalacaPrivate.cpp
+++ b/XrdpUlalacaPrivate.cpp
@@ -78,7 +78,7 @@ int XrdpUlalacaPrivate::decideCopyRectSize() const {
return 64;
}
- if (isH264Codec() || isGFXH264Codec()) {
+ if (isNSCodec() || isH264Codec() || isGFXH264Codec()) {
// ??? FIXME
return RECT_SIZE_BYPASS_CREATE;
}
@@ -174,6 +174,7 @@ void XrdpUlalacaPrivate::updateThreadLoop() {
continue;
}
+
auto width = update.width;
auto height = update.height;
auto dirtyRects = update.dirtyRects;
@@ -194,7 +195,7 @@ void XrdpUlalacaPrivate::updateThreadLoop() {
ULIPCRect screenRect {0, 0, (short) width, (short) height};
auto copyRectSize = decideCopyRectSize();
- if (_frameId > 0 || !_fullInvalidate) {
+ if ((_frameId > 0 && !_fullInvalidate) || isNSCodec()) {
auto copyRects = createCopyRects(*dirtyRects, copyRectSize);
_mod->server_paint_rects(
@@ -250,6 +251,10 @@ void XrdpUlalacaPrivate::calculateSessionSize() {
_sessionSize = _screenLayouts.front();
}
+bool XrdpUlalacaPrivate::isNSCodec() const {
+ return _clientInfo.ns_codec_id != 0;
+}
+
bool XrdpUlalacaPrivate::isRFXCodec() const {
return _clientInfo.rfx_codec_id != 0;
}
@@ -267,7 +272,7 @@ bool XrdpUlalacaPrivate::isGFXH264Codec() const {
}
bool XrdpUlalacaPrivate::isRawBitmap() const {
- return !(isRFXCodec() || isJPEGCodec() || isH264Codec() || isGFXH264Codec());
+ return !(isNSCodec() || isRFXCodec() || isJPEGCodec() || isH264Codec() || isGFXH264Codec());
}