add GStreamer
This commit is contained in:
35
StreamingEngine.h
Normal file
35
StreamingEngine.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
|
||||
#include <vizionsdk/VizionSDK.h>
|
||||
#include "GStreamerPipeline.h"
|
||||
#include <memory>
|
||||
#include <thread>
|
||||
#include <atomic>
|
||||
#include <mutex>
|
||||
|
||||
class StreamingEngine {
|
||||
public:
|
||||
explicit StreamingEngine(std::shared_ptr<VxCamera> camera);
|
||||
~StreamingEngine();
|
||||
|
||||
bool start(const std::string& gstPipeline);
|
||||
void stop();
|
||||
bool isRunning() const { return running_; }
|
||||
|
||||
void setFormat(const VxFormat& format);
|
||||
VxFormat getCurrentFormat() const { return currentFormat_; }
|
||||
|
||||
void setPipelineDescription(const std::string& pipeline);
|
||||
|
||||
private:
|
||||
void acquisitionLoop();
|
||||
|
||||
std::shared_ptr<VxCamera> camera_;
|
||||
std::unique_ptr<GStreamerPipeline> gstPipeline_;
|
||||
std::unique_ptr<std::thread> acquisitionThread_;
|
||||
std::atomic<bool> running_;
|
||||
std::mutex mutex_;
|
||||
VxFormat currentFormat_;
|
||||
std::unique_ptr<uint8_t[]> buffer_;
|
||||
size_t bufferSize_;
|
||||
};
|
||||
Reference in New Issue
Block a user