From 849a4b73e50b653edeb79110501c0ba8bb576b51 Mon Sep 17 00:00:00 2001 From: Jared Goodwin Date: Wed, 28 Jul 2021 12:23:39 -0700 Subject: [PATCH] Don't use BitBlt on Dx timeout result. --- Desktop.Win/Services/ScreenCapturerWin.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Desktop.Win/Services/ScreenCapturerWin.cs b/Desktop.Win/Services/ScreenCapturerWin.cs index bd301bec..68ba467d 100644 --- a/Desktop.Win/Services/ScreenCapturerWin.cs +++ b/Desktop.Win/Services/ScreenCapturerWin.cs @@ -103,6 +103,11 @@ namespace Remotely.Desktop.Win.Services { var (result, frame) = GetDirectXFrame(); + if (result == GetDirectXFrameResult.Timeout) + { + return null; + } + if (result == GetDirectXFrameResult.Success) { return frame; @@ -209,7 +214,7 @@ namespace Remotely.Desktop.Win.Services var texture2D = _directxScreens[SelectedScreen].Texture2D; // Try to get duplicated frame within given time is ms - var result = duplicatedOutput.TryAcquireNextFrame(100, + var result = duplicatedOutput.TryAcquireNextFrame(500, out var duplicateFrameInformation, out var screenResource);