![]() |
SLProject
4.3.020
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
|
#include <SENSAndroidCamera.h>
Public Member Functions | |
| SENSAndroidCamera () | |
| ~SENSAndroidCamera () | |
| const SENSCameraConfig & | start (std::string deviceId, const SENSCameraStreamConfig &streamConfig, bool provideIntrinsics=true) override |
| void | stop () override |
| Stop a started camera device. More... | |
| const SENSCaptureProps & | captureProperties () override |
| Get SENSCaptureProps which contains necessary information about all available camera devices and their capabilities. More... | |
| void | onDeviceDisconnected (ACameraDevice *dev) |
| void | onDeviceError (ACameraDevice *dev, int err) |
| void | onCameraStatusChanged (const char *id, bool available) |
| void | onSessionState (ACameraCaptureSession *ses, CaptureSessionState state) |
| void | imageCallback (AImageReader *reader) |
Public Member Functions inherited from SENSBaseCamera | |
| SENSFrameBasePtr | latestFrame () override |
| Get the latest captured frame. If no frame was captured the frame will be empty (null). More... | |
| const SENSCameraConfig & | config () const override |
| defines how the camera was configured during start More... | |
| void | registerListener (SENSCameraListener *listener) override |
| void | unregisterListener (SENSCameraListener *listener) override |
| bool | started () const override |
| bool | permissionGranted () const override |
| void | setPermissionGranted () override |
Public Member Functions inherited from SENSCamera | |
| virtual | ~SENSCamera () |
Private Member Functions | |
| void | openCamera () |
| void | createCaptureSession () |
Static Private Member Functions | |
| static cv::Mat | convertToYuv (AImage *image) |
Private Attributes | |
| ACameraManager_AvailabilityCallbacks | _cameraManagerAvailabilityCallbacks |
| ACameraManager * | _cameraManager = nullptr |
| ACameraDevice * | _cameraDevice = nullptr |
| AImageReader * | _imageReader = nullptr |
| ANativeWindow * | _surface = nullptr |
| ACaptureSessionOutput * | _captureSessionOutput = nullptr |
| ACaptureSessionOutputContainer * | _captureSessionOutputContainer = nullptr |
| ACameraOutputTarget * | _cameraOutputTarget = nullptr |
| ACaptureRequest * | _captureRequest = nullptr |
| ACameraCaptureSession * | _captureSession = nullptr |
| CaptureSessionState | _captureSessionState = CaptureSessionState::MAX_STATE |
| std::condition_variable | _captureSessionStateCV |
| std::mutex | _captureSessionStateMutex |
| std::map< std::string, bool > | _cameraAvailability |
| std::mutex | _cameraAvailabilityMutex |
| std::condition_variable | _openCameraCV |
| std::atomic< bool > | _cameraDeviceOpened {false} |
| cv::Size | _captureSize |
Additional Inherited Members | |
Protected Member Functions inherited from SENSBaseCamera | |
| void | updateFrame (cv::Mat bgrImg, cv::Mat intrinsics, int width, int height, bool intrinsicsChanged) |
| void | processStart () |
| call from start function to do startup preprocessing More... | |
Protected Attributes inherited from SENSBaseCamera | |
| SENSCaptureProps | _captureProperties |
| std::atomic< bool > | _started {false} |
| flags if camera was started More... | |
| SENSCameraConfig | _config |
| indicates what is currently running More... | |
| std::atomic< bool > | _permissionGranted {false} |
| std::vector< SENSCameraListener * > | _listeners |
| std::mutex | _listenerMutex |
| SENSFrameBasePtr | _frame |
| current frame More... | |
| std::mutex | _frameMutex |
Definition at line 32 of file SENSAndroidCamera.h.
| SENSAndroidCamera::SENSAndroidCamera | ( | ) |
Definition at line 74 of file SENSAndroidCamera.cpp.
| SENSAndroidCamera::~SENSAndroidCamera | ( | ) |
Definition at line 80 of file SENSAndroidCamera.cpp.
|
overridevirtual |
Get SENSCaptureProps which contains necessary information about all available camera devices and their capabilities.
Implements SENSCamera.
Definition at line 652 of file SENSAndroidCamera.cpp.
|
staticprivate |
Definition at line 464 of file SENSAndroidCamera.cpp.
|
private |
Definition at line 324 of file SENSAndroidCamera.cpp.
| void SENSAndroidCamera::imageCallback | ( | AImageReader * | reader | ) |
Definition at line 509 of file SENSAndroidCamera.cpp.
| void SENSAndroidCamera::onCameraStatusChanged | ( | const char * | id, |
| bool | available | ||
| ) |
OnCameraStatusChanged() handles Callback from ACameraManager
Definition at line 596 of file SENSAndroidCamera.cpp.
| void SENSAndroidCamera::onDeviceDisconnected | ( | ACameraDevice * | dev | ) |
Handle Camera DeviceStateChanges msg, notify device is disconnected simply close the camera
Definition at line 532 of file SENSAndroidCamera.cpp.
| void SENSAndroidCamera::onDeviceError | ( | ACameraDevice * | dev, |
| int | err | ||
| ) |
Handles Camera's deviceErrorChanges message, no action; mainly debugging purpose
Definition at line 555 of file SENSAndroidCamera.cpp.
| void SENSAndroidCamera::onSessionState | ( | ACameraCaptureSession * | ses, |
| CaptureSessionState | state | ||
| ) |
Handles capture session state changes. Update into internal session state.
Definition at line 623 of file SENSAndroidCamera.cpp.
|
private |
Definition at line 102 of file SENSAndroidCamera.cpp.
|
overridevirtual |
Call this function to configure the camera if you exactly know, what device you want to open and with which stream configuration. You can find out these properties by using SENSCaptureProps object (see getCaptureProperties())
| deviceId | camera device id to start |
| streamConfig | SENSCameraStreamConfig from camera device. This defines the size of the image. The image is converted to BGR and assigned to SENSFrame::imgBGR. |
| provideIntrinsics | specifies if intrinsics estimation should be enabled. The estimated intrinsics are transferred with every SENSFrame as they may be different for every frame (e.g. on iOS). This value has different effects on different architectures. |
Implements SENSCamera.
Definition at line 286 of file SENSAndroidCamera.cpp.
|
overridevirtual |
Stop a started camera device.
Implements SENSCamera.
Definition at line 390 of file SENSAndroidCamera.cpp.
|
private |
Definition at line 78 of file SENSAndroidCamera.h.
|
private |
Definition at line 79 of file SENSAndroidCamera.h.
|
private |
Definition at line 63 of file SENSAndroidCamera.h.
|
private |
Definition at line 83 of file SENSAndroidCamera.h.
|
private |
Definition at line 62 of file SENSAndroidCamera.h.
|
private |
Definition at line 58 of file SENSAndroidCamera.h.
|
private |
Definition at line 68 of file SENSAndroidCamera.h.
|
private |
Definition at line 69 of file SENSAndroidCamera.h.
|
private |
Definition at line 70 of file SENSAndroidCamera.h.
|
private |
Definition at line 66 of file SENSAndroidCamera.h.
|
private |
Definition at line 67 of file SENSAndroidCamera.h.
|
private |
Definition at line 72 of file SENSAndroidCamera.h.
|
private |
Definition at line 73 of file SENSAndroidCamera.h.
|
private |
Definition at line 74 of file SENSAndroidCamera.h.
|
private |
Definition at line 86 of file SENSAndroidCamera.h.
|
private |
Definition at line 64 of file SENSAndroidCamera.h.
|
private |
Definition at line 80 of file SENSAndroidCamera.h.
|
private |
Definition at line 65 of file SENSAndroidCamera.h.