From 6e34aaa913ac7fa71fa829bb0ce1e298bc8fa51f Mon Sep 17 00:00:00 2001 From: capitalistspz Date: Tue, 21 Apr 2026 00:48:35 +0100 Subject: [PATCH] Prevent `CameraManager::Deinit` from stopping the application entirely --- src/camera/CameraManager.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/camera/CameraManager.cpp b/src/camera/CameraManager.cpp index 89a44dd0..e005c561 100644 --- a/src/camera/CameraManager.cpp +++ b/src/camera/CameraManager.cpp @@ -69,11 +69,13 @@ namespace CameraManager { while (s_capturing) { - s_mutex.lock(); - if (s_stream && Cap_hasNewFrame(s_ctx, *s_stream) && + if (s_mutex.try_lock() && s_stream && Cap_hasNewFrame(s_ctx, *s_stream) && Cap_captureFrame(s_ctx, *s_stream, s_rgbBuffer, CAMERA_RGB_BUFFER_SIZE) == CAPRESULT_OK) + { Rgb2Nv12(s_rgbBuffer, CAMERA_WIDTH, CAMERA_HEIGHT, s_nv12Buffer, CAMERA_PITCH); - s_mutex.unlock(); + s_mutex.unlock(); + } + std::this_thread::sleep_for(std::chrono::milliseconds(30)); } std::this_thread::sleep_for(std::chrono::seconds(1));