summaryrefslogtreecommitdiff
path: root/src/camera/veyeimx287m.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/camera/veyeimx287m.cpp')
-rw-r--r--src/camera/veyeimx287m.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/camera/veyeimx287m.cpp b/src/camera/veyeimx287m.cpp
index 7b6302c..21d95c6 100644
--- a/src/camera/veyeimx287m.cpp
+++ b/src/camera/veyeimx287m.cpp
@@ -294,8 +294,8 @@ bool VeyeIMX287m::init()
return false;
}
- if (!initHttpServer())
- return false;
+ // if (!initHttpServer())
+ // return false;
return true;
}
@@ -600,12 +600,12 @@ bool VeyeIMX287m::initI2C()
return m_i2c != nullptr && m_i2c->open();
}
-bool VeyeIMX287m::initHttpServer()
-{
- m_httpServer = std::make_shared<HttpServer>(this);
+// bool VeyeIMX287m::initHttpServer()
+// {
+// m_httpServer = std::make_shared<HttpServer>(this);
- return m_httpServer != nullptr;
-}
+// return m_httpServer != nullptr;
+// }
void VeyeIMX287m::calcFrameLoop(std::stop_token stopToken)
{
@@ -749,8 +749,14 @@ bool VeyeIMX287m::dequeueImageBuffer(size_t &imageIndex)
return true;
}
-bool VeyeIMX287m::getImage(Image &image)
+bool VeyeIMX287m::getImage(Image *image)
{
+ if (!image) {
+ std::cerr << __func__ << ": image is nullptr" << std::endl;
+
+ return false;
+ }
+
size_t bufferIdx{};
if (!dequeueImageBuffer(bufferIdx)) {
@@ -759,13 +765,13 @@ bool VeyeIMX287m::getImage(Image &image)
// TODO: remove this bullshit. return ptr to image or copy image metainfo
// only, then copy data
- image = std::move(m_images[bufferIdx]);
+ *image = std::move(m_images[bufferIdx]);
{
QElapsedTimer t;
t.start();
std::lock_guard lock{m_imageMutexes[bufferIdx]};
auto &src = *(Image::radxa_data_t *) m_videoBuffers[bufferIdx];
- auto &dst = image.data;
+ auto &dst = image->data;
Image::copy(dst, src);
get_elapsed_ns += t.nsecsElapsed();
}