diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/camera/veyeimx287m.cpp | 3 | ||||
| -rw-r--r-- | src/camera/veyeimx287m.h | 8 | ||||
| -rw-r--r-- | src/protocols/pixelsudpstreamer.cpp | 16 | ||||
| -rw-r--r-- | src/protocols/pixelsudpstreamer.h | 19 |
4 files changed, 40 insertions, 6 deletions
diff --git a/src/camera/veyeimx287m.cpp b/src/camera/veyeimx287m.cpp index 21d95c6..2e4a4aa 100644 --- a/src/camera/veyeimx287m.cpp +++ b/src/camera/veyeimx287m.cpp @@ -618,6 +618,9 @@ void VeyeIMX287m::calcFrameLoop(std::stop_token stopToken) continue; } + // ++processedCounter; + // continue; + std::lock_guard lock{m_imageMutexes[bufferIdx]}; auto &image = m_images[bufferIdx]; diff --git a/src/camera/veyeimx287m.h b/src/camera/veyeimx287m.h index 4de51af..03b7df9 100644 --- a/src/camera/veyeimx287m.h +++ b/src/camera/veyeimx287m.h @@ -5,6 +5,8 @@ #include <queue> #include <thread> +#include <QReadWriteLock> + #include "constants.h" #include "image.h" @@ -79,6 +81,12 @@ private: static constexpr uint8_t BUFFER_COUNT{16}; + struct MA + { + QReadWriteLock rwLock; + Image image; + } bbbbb[BUFFER_COUNT]; + std::array<Image, BUFFER_COUNT> m_images; /*! * \brief m_imageMutexes - lock while processing image from m_images diff --git a/src/protocols/pixelsudpstreamer.cpp b/src/protocols/pixelsudpstreamer.cpp index d7c66c7..e7498d7 100644 --- a/src/protocols/pixelsudpstreamer.cpp +++ b/src/protocols/pixelsudpstreamer.cpp @@ -1,7 +1,17 @@ #include "pixelsudpstreamer.h" -PixelsUdpStreamer::PixelsUdpStreamer(std::shared_ptr<ICamera> camera) - : IProtocol{camera} +#include <QUdpSocket> + +PixelsUdpStreamer::PixelsUdpStreamer(std::shared_ptr<ICamera> camera, QObject *parent) + : QObject{parent} + , IProtocol{camera} {} -bool PixelsUdpStreamer::start() {} +bool PixelsUdpStreamer::start() +{ + m_socket = std::make_shared<QUdpSocket>(); + + return true; +} + +void PixelsUdpStreamer::stop() {} diff --git a/src/protocols/pixelsudpstreamer.h b/src/protocols/pixelsudpstreamer.h index db8acc3..a7f69b7 100644 --- a/src/protocols/pixelsudpstreamer.h +++ b/src/protocols/pixelsudpstreamer.h @@ -1,14 +1,27 @@ #pragma once +// qt +#include <QObject> +#include <QReadWriteLock> + +// orpheus #include "iprotocol.h" -class PixelsUdpStreamer : public IProtocol +// qt +class QUdpSocket; + +class PixelsUdpStreamer : public QObject, public IProtocol { + Q_OBJECT + public: - explicit PixelsUdpStreamer(std::shared_ptr<ICamera> camera); + explicit PixelsUdpStreamer(std::shared_ptr<ICamera> camera, QObject *parent = nullptr); ~PixelsUdpStreamer() override = default; -public: +public slots: bool start() override; void stop() override; + +private: + std::shared_ptr<QUdpSocket> m_socket; }; |
