|
|
|
@ -30,6 +30,10 @@ static void onDisconnected(void* context, ACameraDevice* device)
|
|
|
|
|
|
|
|
|
|
static void onError(void* context, ACameraDevice* device, int error)
|
|
|
|
|
{
|
|
|
|
|
if (ACAMERA_ERROR_CAMERA_DEVICE == error)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
std::string msg = "NdkCamera error code=" + std::to_string(error);
|
|
|
|
|
((NdkCamera*)context)->on_error(msg);
|
|
|
|
|
// __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onError %p %d", device, error);
|
|
|
|
@ -322,6 +326,7 @@ int NdkCamera::open(const std::string& cameraId) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (camera_id.empty() || !foundIt) {
|
|
|
|
|
ALOGE("CameraId %s With RES(%d, %d) Not Found", cameraId.c_str(), mWidth, mHeight);
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -378,6 +383,7 @@ int NdkCamera::open(const std::string& cameraId) {
|
|
|
|
|
// std::this_thread::sleep_for(std::chrono::milliseconds(128));
|
|
|
|
|
// capture request
|
|
|
|
|
{
|
|
|
|
|
// res = ACameraDevice_createCaptureRequest(camera_device, TEMPLATE_PREVIEW, &capture_request);
|
|
|
|
|
res = ACameraDevice_createCaptureRequest(camera_device, TEMPLATE_STILL_CAPTURE, &capture_request);
|
|
|
|
|
|
|
|
|
|
int32_t fpsRange[2] = {10,30};
|
|
|
|
@ -455,11 +461,11 @@ int NdkCamera::open(const std::string& cameraId) {
|
|
|
|
|
|
|
|
|
|
res = ACaptureSessionOutputContainer_create(&capture_session_output_container);
|
|
|
|
|
|
|
|
|
|
ACaptureSessionOutput_create(image_reader_surface, &capture_session_output);
|
|
|
|
|
res = ACaptureSessionOutput_create(image_reader_surface, &capture_session_output);
|
|
|
|
|
|
|
|
|
|
ACaptureSessionOutputContainer_add(capture_session_output_container, capture_session_output);
|
|
|
|
|
res = ACaptureSessionOutputContainer_add(capture_session_output_container, capture_session_output);
|
|
|
|
|
|
|
|
|
|
ACameraDevice_createCaptureSession(camera_device, capture_session_output_container, &camera_capture_session_state_callbacks, &capture_session);
|
|
|
|
|
res = ACameraDevice_createCaptureSession(camera_device, capture_session_output_container, &camera_capture_session_state_callbacks, &capture_session);
|
|
|
|
|
|
|
|
|
|
ACameraCaptureSession_captureCallbacks camera_capture_session_capture_callbacks;
|
|
|
|
|
camera_capture_session_capture_callbacks.context = this;
|
|
|
|
@ -471,7 +477,7 @@ int NdkCamera::open(const std::string& cameraId) {
|
|
|
|
|
camera_capture_session_capture_callbacks.onCaptureSequenceAborted = onCaptureSequenceAborted;
|
|
|
|
|
camera_capture_session_capture_callbacks.onCaptureBufferLost = 0;
|
|
|
|
|
|
|
|
|
|
ACameraCaptureSession_setRepeatingRequest(capture_session, &camera_capture_session_capture_callbacks, 1, &capture_request, &captureSequenceId);
|
|
|
|
|
res = ACameraCaptureSession_setRepeatingRequest(capture_session, &camera_capture_session_capture_callbacks, 1, &capture_request, &captureSequenceId);
|
|
|
|
|
// ACameraCaptureSession_capture(capture_session, &camera_capture_session_capture_callbacks, 1, &capture_request, &captureSequenceId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|