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++;