From d52800b7cd68252c5df4049d9cdb0bd085edc526 Mon Sep 17 00:00:00 2001 From: capitalistspz Date: Sun, 18 May 2025 16:39:52 +0100 Subject: [PATCH] Solve some locking issues --- src/camera/CameraManager.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/camera/CameraManager.cpp b/src/camera/CameraManager.cpp index 581e6d80..1df42f10 100644 --- a/src/camera/CameraManager.cpp +++ b/src/camera/CameraManager.cpp @@ -90,15 +90,17 @@ namespace CameraManager void Init() { - std::scoped_lock lock(s_mutex); - if (s_initialized) - return; - s_initialized = true; - s_mutex.unlock(); - s_running = true; + { + std::scoped_lock lock(s_mutex); + if (s_initialized) + return; + s_initialized = true; + s_running = true; + } + s_ctx = Cap_createContext(); + s_captureThread = std::thread(&CaptureWorker); - s_ctx = Cap_createContext(); const auto uniqueId = GetConfig().camera_id.GetValue(); if (!uniqueId.empty())