diff --git a/Assets/uDesktopDuplication/Plugins/x86/uDesktopDuplication.dll b/Assets/uDesktopDuplication/Plugins/x86/uDesktopDuplication.dll index 35a154e..b1e3148 100644 Binary files a/Assets/uDesktopDuplication/Plugins/x86/uDesktopDuplication.dll and b/Assets/uDesktopDuplication/Plugins/x86/uDesktopDuplication.dll differ diff --git a/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll b/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll index 9918b97..f0afaa6 100644 Binary files a/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll and b/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll differ diff --git a/Plugins/uDesktopDuplication/uDesktopDuplication/Duplicator.cpp b/Plugins/uDesktopDuplication/uDesktopDuplication/Duplicator.cpp index f4d8ac6..fff0fd3 100644 --- a/Plugins/uDesktopDuplication/uDesktopDuplication/Duplicator.cpp +++ b/Plugins/uDesktopDuplication/uDesktopDuplication/Duplicator.cpp @@ -308,7 +308,7 @@ bool Duplicator::Duplicate(UINT timeout) return false; } - auto sharedTexture = device_->GetCompatibleSharedTexture(texture, frame % 2); + auto sharedTexture = device_->GetCompatibleSharedTexture(texture, frame_ % 2); if (!sharedTexture) { return false; @@ -323,10 +323,13 @@ bool Duplicator::Duplicate(UINT timeout) { std::lock_guard lock(mutex_); - lastFrame_.frame = frame++; - lastFrame_.texture = sharedTexture; - lastFrame_.info = frameInfo; - lastFrame_.metaData = metaData_; + lastFrame_ = Frame + { + frame_++, + sharedTexture, + frameInfo, + metaData_ + }; } return true; diff --git a/Plugins/uDesktopDuplication/uDesktopDuplication/Duplicator.h b/Plugins/uDesktopDuplication/uDesktopDuplication/Duplicator.h index 86702d3..66a7040 100644 --- a/Plugins/uDesktopDuplication/uDesktopDuplication/Duplicator.h +++ b/Plugins/uDesktopDuplication/uDesktopDuplication/Duplicator.h @@ -44,7 +44,7 @@ public: struct Frame { - UINT frame = 0; + UINT frame; Microsoft::WRL::ComPtr texture; DXGI_OUTDUPL_FRAME_INFO info; Metadata metaData; @@ -82,7 +82,7 @@ private: std::shared_ptr device_; Microsoft::WRL::ComPtr dupl_; Frame lastFrame_; - UINT frame = 0; + UINT frame_ = 0; volatile bool shouldRun_ = false; std::thread thread_;