avoid leaking any arv.h dependancies
This commit is contained in:
		
							parent
							
								
									89cd91d935
								
							
						
					
					
						commit
						71e152a0d6
					
				
					 2 changed files with 15 additions and 6 deletions
				
			
		
							
								
								
									
										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);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue