add SharedMemoryWriter support
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
|
||||
#include <vizionsdk/VizionSDK.h>
|
||||
#include "vizionstreamer/GStreamerPipeline.h"
|
||||
#include "vizionstreamer/SharedMemoryWriter.h"
|
||||
#include <memory>
|
||||
#include <thread>
|
||||
#include <atomic>
|
||||
@@ -29,11 +30,19 @@ public:
|
||||
|
||||
void setPipelineDescription(const std::string& pipeline);
|
||||
|
||||
// Shared memory output control
|
||||
bool enableSharedMemory(const std::string& name, size_t buffer_size);
|
||||
void disableSharedMemory();
|
||||
[[nodiscard]] bool isSharedMemoryEnabled() const { return shmWriter_ != nullptr && shmWriter_->isCreated(); }
|
||||
[[nodiscard]] std::string getSharedMemoryName() const { return shmWriter_ ? shmWriter_->getName() : ""; }
|
||||
[[nodiscard]] size_t getSharedMemorySize() const { return shmWriter_ ? shmWriter_->getBufferSize() : 0; }
|
||||
|
||||
private:
|
||||
void acquisitionLoop();
|
||||
|
||||
std::shared_ptr<VxCamera> camera_;
|
||||
std::unique_ptr<GStreamerPipeline> gstPipeline_;
|
||||
std::unique_ptr<SharedMemoryWriter> shmWriter_;
|
||||
std::unique_ptr<std::thread> acquisitionThread_;
|
||||
std::atomic<bool> running_;
|
||||
std::mutex mutex_;
|
||||
|
||||
Reference in New Issue
Block a user