|
|
|
@ -24,7 +24,7 @@
|
|
|
|
|
|
|
|
|
|
static void onDisconnected(void* context, ACameraDevice* device)
|
|
|
|
|
{
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onDisconnected %p", device);
|
|
|
|
|
ALOGW("onDisconnected %p", device);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void onError(void* context, ACameraDevice* device, int error)
|
|
|
|
@ -41,32 +41,32 @@ static void onImageAvailable(void* context, AImageReader* reader)
|
|
|
|
|
|
|
|
|
|
static void onSessionActive(void* context, ACameraCaptureSession *session)
|
|
|
|
|
{
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onSessionActive %p", session);
|
|
|
|
|
ALOGW("onSessionActive %p", session);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void onSessionReady(void* context, ACameraCaptureSession *session)
|
|
|
|
|
{
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onSessionReady %p", session);
|
|
|
|
|
ALOGW("onSessionReady %p", session);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void onSessionClosed(void* context, ACameraCaptureSession *session)
|
|
|
|
|
{
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onSessionClosed %p", session);
|
|
|
|
|
ALOGW("onSessionClosed %p", session);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void onCaptureFailed(void* context, ACameraCaptureSession* session, ACaptureRequest* request, ACameraCaptureFailure* failure)
|
|
|
|
|
{
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureFailed %p %p %p", session, request, failure);
|
|
|
|
|
ALOGW("onCaptureFailed %p %p %p", session, request, failure);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void onCaptureSequenceCompleted(void* context, ACameraCaptureSession* session, int sequenceId, int64_t frameNumber)
|
|
|
|
|
{
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceCompleted %p %d %ld", session, sequenceId, frameNumber);
|
|
|
|
|
ALOGW("onCaptureSequenceCompleted %p %d %ld", session, sequenceId, frameNumber);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void onCaptureSequenceAborted(void* context, ACameraCaptureSession* session, int sequenceId)
|
|
|
|
|
{
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceAborted %p %d", session, sequenceId);
|
|
|
|
|
ALOGW("onCaptureSequenceAborted %p %d", session, sequenceId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void onCaptureCompleted(void* context, ACameraCaptureSession* session, ACaptureRequest* request, const ACameraMetadata* result)
|
|
|
|
@ -116,7 +116,7 @@ NdkCamera::~NdkCamera()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int NdkCamera::open(const char* cameraId) {
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "DBG::open %s", cameraId);
|
|
|
|
|
ALOGW("DBG::open %s", cameraId);
|
|
|
|
|
|
|
|
|
|
// camera_facing = _camera_facing;
|
|
|
|
|
|
|
|
|
@ -320,7 +320,7 @@ int NdkCamera::open(const char* cameraId) {
|
|
|
|
|
ANativeWindow_acquire(image_reader_surface);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "open %s %d", camera_id.c_str(), camera_orientation);
|
|
|
|
|
ALOGW("open %s %d", camera_id.c_str(), camera_orientation);
|
|
|
|
|
|
|
|
|
|
// open camera
|
|
|
|
|
{
|
|
|
|
@ -471,13 +471,13 @@ void NdkCamera::close()
|
|
|
|
|
ACameraManager_delete(camera_manager);
|
|
|
|
|
camera_manager = 0;
|
|
|
|
|
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "DBG::close %s", mCameraId.c_str());
|
|
|
|
|
ALOGW("DBG::close %s", mCameraId.c_str());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void NdkCamera::onImageAvailable(AImageReader* reader)
|
|
|
|
|
{
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onImageAvailable %p", reader);
|
|
|
|
|
ALOGW("onImageAvailable %p", reader);
|
|
|
|
|
|
|
|
|
|
AImage* image = 0;
|
|
|
|
|
media_status_t status = AImageReader_acquireLatestImage(reader, &image);
|
|
|
|
@ -588,7 +588,7 @@ bool NdkCamera::on_image(const cv::Mat& rgb)
|
|
|
|
|
|
|
|
|
|
void NdkCamera::on_image(const unsigned char* nv21, int nv21_width, int nv21_height)
|
|
|
|
|
{
|
|
|
|
|
__android_log_print(ANDROID_LOG_WARN, "NdkCamera", "nv21 size: %d x %d", nv21_width, nv21_height);
|
|
|
|
|
ALOGW("nv21 size: %d x %d", nv21_width, nv21_height);
|
|
|
|
|
// rotate nv21
|
|
|
|
|
int w = 0;
|
|
|
|
|
int h = 0;
|
|
|
|
|