This commit is contained in:
dijunkun
2025-10-27 19:55:06 +08:00
parent b953dcac88
commit 3843104f8c

View File

@@ -22,9 +22,14 @@
#include "display_info.h"
#include "rd_log.h"
using namespace crossdesk;
class ScreenCapturerSckImpl;
namespace crossdesk {
std::unique_ptr<ScreenCapturer> ScreenCapturerSck::CreateScreenCapturerSck() {
return std::make_unique<ScreenCapturerSckImpl>();
}
} // namespace crossdesk
static const int kFullDesktopScreenId = -1;
// The ScreenCaptureKit API was available in macOS 12.3, but full-screen capture
@@ -173,8 +178,6 @@ std::string GetDisplayName(CGDirectDisplayID display_id) {
return result;
}
namespace crossdesk {
ScreenCapturerSckImpl::ScreenCapturerSckImpl() {
helper_ = [[SckHelper alloc] initWithCapturer:this];
}
@@ -428,11 +431,6 @@ void ScreenCapturerSckImpl::StartOrReconfigureCapturer() {
[SCShareableContent getShareableContentWithCompletionHandler:handler];
}
std::unique_ptr<ScreenCapturer> ScreenCapturerSck::CreateScreenCapturerSck() {
return std::make_unique<ScreenCapturerSckImpl>();
}
} // namespace crossdesk
@implementation SckHelper {
// This lock is to prevent the capturer being destroyed while an instance
// method is still running on another thread.