From 36e801c94bd2f7c85ff378817b0c4aa455f1c23e Mon Sep 17 00:00:00 2001
From: Daniel Aharoni <DBAharoni@gmail.com>
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()) {