avoid leaking any arv.h dependancies
This commit is contained in:
11
uvoscam.cpp
11
uvoscam.cpp
@ -27,6 +27,8 @@
|
||||
|
||||
#include"log.h"
|
||||
|
||||
#include <arv.h>
|
||||
|
||||
using namespace cam;
|
||||
|
||||
cv::Mat Camera::debayer(ArvBuffer *buffer)
|
||||
@ -126,7 +128,12 @@ void Camera::decoderThreadFunc()
|
||||
}
|
||||
}
|
||||
|
||||
void Camera::aCallback(void* instance, ArvStreamCallbackType type, ArvBuffer *buffer)
|
||||
static void aFCallback(void* instance, ArvStreamCallbackType type, ArvBuffer *buffer)
|
||||
{
|
||||
Camera::aCallback(instance, static_cast<int>(type), buffer);
|
||||
}
|
||||
|
||||
void Camera::aCallback(void* instance, int type, ArvBuffer *buffer)
|
||||
{
|
||||
Camera* instance_ = reinterpret_cast<Camera*>(instance);
|
||||
if(type == ARV_STREAM_CALLBACK_TYPE_BUFFER_DONE)
|
||||
@ -250,7 +257,7 @@ bool Camera::setupCamera()
|
||||
|
||||
Log(Log::DEBUG)<<"Using "<<arv_camera_get_pixel_format_as_string(aCamera_, nullptr)<<" as pixel format";
|
||||
|
||||
aStream_ = arv_camera_create_stream(aCamera_, aCallback, this, nullptr);
|
||||
aStream_ = arv_camera_create_stream(aCamera_, aFCallback, this, nullptr);
|
||||
if(!ARV_IS_STREAM(aStream_))
|
||||
{
|
||||
Log(Log::ERROR)<<"Can not create stream";
|
||||
|
10
uvoscam.h
10
uvoscam.h
@ -25,7 +25,10 @@
|
||||
#include <thread>
|
||||
#include <atomic>
|
||||
#include <opencv2/core/mat.hpp>
|
||||
#include <arv.h>
|
||||
|
||||
typedef struct _ArvStream ArvStream;
|
||||
typedef struct _ArvBuffer ArvBuffer;
|
||||
typedef struct _ArvCamera ArvCamera;
|
||||
|
||||
namespace cam
|
||||
{
|
||||
@ -64,7 +67,6 @@ public:
|
||||
private:
|
||||
ArvStream* aStream_ = nullptr;
|
||||
ArvCamera* aCamera_ = nullptr;
|
||||
ArvInterface interface;
|
||||
|
||||
unsigned int width_;
|
||||
unsigned int height_;
|
||||
@ -86,8 +88,6 @@ private:
|
||||
|
||||
AquisitionMode aqmode = MODE_FREE;
|
||||
|
||||
static void aCallback(void* instance, ArvStreamCallbackType type, ArvBuffer *buffer);
|
||||
|
||||
void decoderThreadFunc();
|
||||
|
||||
std::function<void(cv::Mat)> callback_;
|
||||
@ -124,6 +124,8 @@ public:
|
||||
Camera::BayerMode getBayerMode();
|
||||
void setTriggerMode(Camera::TriggerMode mode);
|
||||
void trigger();
|
||||
|
||||
static void aCallback(void* instance, int type, ArvBuffer *buffer);
|
||||
};
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user