#ifndef STREAM_MANAGER_H #define STREAM_MANAGER_H #include #include #include #include #include #include #include #include #include "StreamReader.hpp" #define BUFFER_COUNT (32) class StreamManager : public QObject { Q_OBJECT; public: StreamManager(QObject *parent); virtual ~StreamManager(); bool GetReadyState(); public slots: void SetEmissivity(double emissivity); void SetFrameRate(int frame_rate); void SendForProcessing(int width, int height, uint8_t *imgPointer); private: PvResult FindDevice(); PvResult ConnectToDevice(); PvResult OpenStream(); void ConfigureStream(); void StartStream(); void StopStream(); void CreatePipeline(); void AcquireImages(); void Disconnect(); PvString ConnectionID; PvDevice *Device = NULL; PvStream *Stream = NULL; PvGenParameterArray *lDeviceParams = NULL; PvPipeline *Pipeline = NULL; StreamReader *ImageThread; }; #endif