From 36e801c94bd2f7c85ff378817b0c4aa455f1c23e Mon Sep 17 00:00:00 2001 From: Daniel Aharoni Date: Tue, 25 Feb 2020 16:58:07 -0800 Subject: [PATCH] Remove locking of freeFrame QSemaphore by replacing timeout to QThread::msleep --- source/videostreamocv.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/videostreamocv.cpp b/source/videostreamocv.cpp index a3b3baa..864578f 100644 --- a/source/videostreamocv.cpp +++ b/source/videostreamocv.cpp @@ -94,7 +94,11 @@ void VideoStreamOCV::startStream() sendMessage("Error: " + m_deviceName + " frame buffer is full. Frames will be lost!"); } - if(freeFrames->tryAcquire(1,100)) { + if(!freeFrames->tryAcquire()) { + // Failed to acquire free frame + QThread::msleep(100); + } + else { if (!cam->grab()) { sendMessage("Warning: " + m_deviceName + " grab frame failed. Attempting to reconnect."); if (cam->isOpened()) {