10 #ifndef SENS_ANDROID_CAMERA_H
11 #define SENS_ANDROID_CAMERA_H
18 #include <camera/NdkCameraDevice.h>
19 #include <camera/NdkCameraManager.h>
20 #include <media/NdkImageReader.h>
40 bool provideIntrinsics =
true)
override;
ACaptureRequest * _captureRequest
void createCaptureSession()
void onDeviceError(ACameraDevice *dev, int err)
std::atomic< bool > _cameraDeviceOpened
AImageReader * _imageReader
void onSessionState(ACameraCaptureSession *ses, CaptureSessionState state)
ACaptureSessionOutput * _captureSessionOutput
static cv::Mat convertToYuv(AImage *image)
ACameraManager_AvailabilityCallbacks _cameraManagerAvailabilityCallbacks
ACameraOutputTarget * _cameraOutputTarget
std::condition_variable _openCameraCV
std::mutex _captureSessionStateMutex
CaptureSessionState _captureSessionState
void stop() override
Stop a started camera device.
const SENSCaptureProps & captureProperties() override
Get SENSCaptureProps which contains necessary information about all available camera devices and thei...
ACameraCaptureSession * _captureSession
ACameraManager * _cameraManager
void onDeviceDisconnected(ACameraDevice *dev)
void imageCallback(AImageReader *reader)
std::condition_variable _captureSessionStateCV
std::map< std::string, bool > _cameraAvailability
const SENSCameraConfig & start(std::string deviceId, const SENSCameraStreamConfig &streamConfig, bool provideIntrinsics=true) override
ACaptureSessionOutputContainer * _captureSessionOutputContainer
std::mutex _cameraAvailabilityMutex
ACameraDevice * _cameraDevice
void onCameraStatusChanged(const char *id, bool available)
Implementation of common functionality and members.