From 584aabf63528ba82e751cd0e7852d541fefa7572 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Thu, 3 Jul 2014 10:48:38 -0400 Subject: [PATCH] Moved frame number counter to inside mutex --- src/videobuffer.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/videobuffer.h b/src/videobuffer.h index 813bb5a..1ea4b34 100644 --- a/src/videobuffer.h +++ b/src/videobuffer.h @@ -25,11 +25,11 @@ class VideoDispatcher int getLatestFrame(cv::Mat* frame) { + tthread::lock_guard guard(mMutex); + if (latestFrameNumber == lastFrameRead) return -1; - tthread::lock_guard guard(mMutex); - frame->create(latestFrame->size(), latestFrame->type()); latestFrame->copyTo(*frame); @@ -40,6 +40,7 @@ class VideoDispatcher void setLatestFrame(cv::Mat* frame) { + tthread::lock_guard guard(mMutex); this->latestFrame = frame; this->latestFrameNumber++;