4 #include <interfaces/IImageStreamExtractor.h>
19 #include <condition_variable>
22 #define NI_STDCALL __stdcall
33 virtual const char*
what()
const throw();
51 _ImaqGrabberImpl(
const std::string & _deviceName,
const std::string & _deviceSource, zmq::context_t & _ctx);
59 int getInteger(uInt32 attr);
74 int getBytesPerPixel();
82 void acquireBuffer(
int bufferId);
83 void releaseBuffer(
int bufferId);
92 void addEndpoint(
const std::string & _endpoint);
94 std::string deviceName;
95 std::string deviceSource;
100 int totalLostFrames = 0;
101 std::thread acquisitionThread;
102 volatile bool enableAcquisition =
false;
103 std::vector<std::atomic<int>*> bufferUsers;
104 std::atomic<int> openBuffers;
105 std::atomic<int> totalBufferUsers;
106 std::condition_variable bufferFreeNotifier;
108 zmq::context_t & ctx;
109 std::list<std::string> endpoints;
Base for all Imaq related exceptions.
ImageGrabber implementation for IMAQ cameras.
ImaqException(const std::string &_message)
Public interface to an ImageGrabber grabber.
virtual const char * what() const